{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "year=2019\n",
    "month=7"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Developer Salary in First-Tier Cities 程序员工资调查\n",
    "我在4月1日到3日之间，抓取了某招聘网站的软件和互联网类招聘数据40万条，其中通过程序判断为程序员的14万条。地域方面，我选择了24个主要城市。不过本文只以一线城市为研究对象。这样是为了和我2017年6月的数据做对比。\n",
    "\n",
    "提到2017年的文章，现在居然还有很多人，把这篇文章拿出来炒作。对于社会来说，可气的是，他们直接把2017改成2019，就发表了，这不是骗人么？！对于我来说，可气的是，他们转载居然还冒充是原创，是可忍熟不可忍！"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import sys\n",
    "sys.path.append('..')\n",
    "sys.path.append('../py')\n",
    "import db\n",
    "import inspect\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "import seaborn as sns\n",
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import weighted\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn=db.get_conn()\n",
    "data_original=pd.read_sql(sql=f\"select * from _{year}{month:02} where monthly_salary>0 and monthly_salary<80000 and city in ('北京','上海','广州','深圳')  and monthly_salary<80000 and YEAR(publish_date)={year} and MONTH(publish_date)={month}  \", con=conn)\n",
    "conn.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_job_ids=['104660258','104142922','108434795','101357291','106253516','110368302','111391233','108665401','109277048'\n",
    "                  ,'73857191','108584955','102824950','102824949','111391233','110884556']\n",
    "data=data_original[~data_original.job_id.isin(error_job_ids)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "#del data['publish_date']\n",
    "#del data['published_on_weekend']\n",
    "#del data['title']\n",
    "#del data['title']\n",
    "#del data['company_title']\n",
    "#del data['company_description']\n",
    "#del data['job_description']\n",
    "#del data['job_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>...</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>30817</th>\n",
       "      <td>75596794</td>\n",
       "      <td>7500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA 工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>深圳</td>\n",
       "      <td>四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10742</th>\n",
       "      <td>110969579</td>\n",
       "      <td>12500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA开发工程师（2019届应届毕业生）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-15</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22409</th>\n",
       "      <td>114568087</td>\n",
       "      <td>3750</td>\n",
       "      <td>151</td>\n",
       "      <td>C#软件开发</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6525</th>\n",
       "      <td>108834444</td>\n",
       "      <td>15000</td>\n",
       "      <td>150</td>\n",
       "      <td>Java开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11923</th>\n",
       "      <td>111488966</td>\n",
       "      <td>8500</td>\n",
       "      <td>90</td>\n",
       "      <td>开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>东华医为科技有限公司（简称东华医为）成立于2012年5月，注册资金5000万，是东华软件股份...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 94 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount                  title  \\\n",
       "30817   75596794            7500        200               JAVA 工程师   \n",
       "10742  110969579           12500        200  JAVA开发工程师（2019届应届毕业生）   \n",
       "22409  114568087            3750        151                 C#软件开发   \n",
       "6525   108834444           15000        150              Java开发工程师   \n",
       "11923  111488966            8500         90                  开发工程师   \n",
       "\n",
       "      zhinengleibie career real_province province city  \\\n",
       "30817         软件工程师  一般程序员          None       广东   深圳   \n",
       "10742         软件工程师  一般程序员          None       广东   广州   \n",
       "22409         软件工程师  一般程序员          None       北京   北京   \n",
       "6525          软件工程师  一般程序员          None       北京   北京   \n",
       "11923         软件工程师  一般程序员          None       广东   广州   \n",
       "\n",
       "                                     company_description    ...      \\\n",
       "30817  四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...    ...       \n",
       "10742  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    ...       \n",
       "22409  北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...    ...       \n",
       "6525   大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...    ...       \n",
       "11923  东华医为科技有限公司（简称东华医为）成立于2012年5月，注册资金5000万，是东华软件股份...    ...       \n",
       "\n",
       "      pl_visual_basic publish_date published_on_weekend tag_baby_care  \\\n",
       "30817           False   2019-07-31                False         False   \n",
       "10742           False   2019-07-15                False         False   \n",
       "22409           False   2019-07-31                False         False   \n",
       "6525            False   2019-07-31                False         False   \n",
       "11923           False   2019-07-31                False         False   \n",
       "\n",
       "       tag_five_insurance  tag_flexible  tag_no_overtime  tag_rest_one_day  \\\n",
       "30817                True         False            False             False   \n",
       "10742                True         False            False             False   \n",
       "22409               False         False            False             False   \n",
       "6525                 True         False            False             False   \n",
       "11923                True         False            False             False   \n",
       "\n",
       "       tag_rest_two_days  tag_stock  \n",
       "30817              False      False  \n",
       "10742              False      False  \n",
       "22409              False      False  \n",
       "6525               False      False  \n",
       "11923              False      False  \n",
       "\n",
       "[5 rows x 94 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data=data.sort_values(by='headcount', ascending=False)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pd_weighted_mean(group, avg_name, weight_name):\n",
    "    \"\"\" http://stackoverflow.com/questions/10951341/pandas-dataframe-aggregate-function-using-multiple-columns\n",
    "    In rare instance, we may not have weights, so just return the mean. Customize this if your business case\n",
    "    should return otherwise.\n",
    "    \"\"\"\n",
    "    d = group[avg_name]\n",
    "    w = group[weight_name]\n",
    "    try:\n",
    "        return (d * w).sum() / w.sum()\n",
    "    except ZeroDivisionError:\n",
    "        return d.mean()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Unilateral Stats 总体统计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有数据可知，程序员向一线城市集中的趋势非常明显。\n",
    "\n",
    "According to the statistics, significant amount of developers are in the first tier cities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(35811, 94)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "110621"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 5000., 11000., 14000., 20000., 37500.])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "salary_mean=weighted.weighted_mean(data.monthly_salary.values, data.headcount.values)\n",
    "q=weighted.weighted_quantile(data.monthly_salary.values,[0.025,0.25,0.5,0.75,0.975], data.headcount.values)\n",
    "q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019年7月中国一线城市程序员的平均工资为16113元，工资中位数为14000元，其中95%的人的工资位于5000到37500元之间。\n"
     ]
    }
   ],
   "source": [
    "print(f'{year}年{month}月中国一线城市程序员的平均工资为{salary_mean:.0f}元，工资中位数为{q[2]:.0f}元，其中95%的人的工资位于{q[0]:.0f}到{q[4]:.0f}元之间。')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "In 2019, Developers in China earn 16113 Yuan as average, the median is 14000 Yuan, 95% of them earn between 5000 and 37500 Yuan.\n"
     ]
    }
   ],
   "source": [
    "print(f'In {year}, Developers in China earn {salary_mean:.0f} Yuan as average, '\n",
    "      f'the median is {q[2]:.0f} Yuan, 95% of them earn between {q[0]:.0f} and {q[4]:.0f} Yuan.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x25945b1a9e8>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data.monthly_salary.hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It does not look like normal distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NormaltestResult(statistic=11667.41872307721, pvalue=0.0)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.normaltest(data.monthly_salary)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "null hypothesis: x comes from a normal distribution\n",
    "    \n",
    "p=0\n",
    "\n",
    "The null hypothesis can be rejected\n",
    "\n",
    "conclusion: data is not normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Zoom in"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data[data.monthly_salary<40000].monthly_salary.hist()\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0,0), xytext=(2000, 100), color='white')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Role 角色"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Common Functions\n",
    "def get_sub_stats_by_col(data, col):\n",
    "    categories=data[col].unique()\n",
    "    salary_mean=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    salary_median=[]\n",
    "    \n",
    "\n",
    "    count=[]\n",
    "    \n",
    "    categorys_out=[]\n",
    "    for category in categories:\n",
    "        #print(feature)\n",
    "        idata=data[data[col]==category]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(np.average(values, weights=weights))\n",
    "        \n",
    "\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        categorys_out.append(category)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data[col]=[c for c in categorys_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "\n",
    "    return sub_data\n",
    "\n",
    "def get_sub_stats_by_prefix(data, prefix):\n",
    "    \n",
    "    features = [feature for feature in data.columns if feature.startswith(prefix)]\n",
    "    salary_mean=[]\n",
    "    salary_median=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    count=[]\n",
    "    \n",
    "    features_out=[]\n",
    "    for feature in features:\n",
    "        #print(feature)\n",
    "        idata=data[data[feature]==1]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(weighted.weighted_mean(values, weights))\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        features_out.append(feature)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data['rank']=range(0,len(features_out))\n",
    "    sub_data[prefix]=[f.replace(prefix,'') for f in features_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "    sub_data['rank']=range(1,len(features_out)+1)\n",
    "    #sub_data=sub_data.reset_index()\n",
    "    return sub_data\n",
    "\n",
    "def apply_style(sub_data):\n",
    "    return sub_data.style.hide_index().format(\n",
    "    {\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"salary_95_min\":\"{:.0f}\",\"salary_95_max\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5a6ded34_b594_11e9_855e_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"blank level0\" ></th> \n",
       "        <th class=\"col_heading level0 col0\" >career</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <th id=\"T_5a6ded34_b594_11e9_855e_701ce71031eflevel0_row0\" class=\"row_heading level0 row0\" >2</th> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col0\" class=\"data row0 col0\" >系统架构师</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col1\" class=\"data row0 col1\" >26233</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col3\" class=\"data row0 col3\" >25000</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col4\" class=\"data row0 col4\" >52500</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col5\" class=\"data row0 col5\" >4657</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow0_col6\" class=\"data row0 col6\" >4.21%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_5a6ded34_b594_11e9_855e_701ce71031eflevel0_row1\" class=\"row_heading level0 row1\" >1</th> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col0\" class=\"data row1 col0\" >算法工程师</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col1\" class=\"data row1 col1\" >22545</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col3\" class=\"data row1 col3\" >21000</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col5\" class=\"data row1 col5\" >10247</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow1_col6\" class=\"data row1 col6\" >9.26%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_5a6ded34_b594_11e9_855e_701ce71031eflevel0_row2\" class=\"row_heading level0 row2\" >0</th> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col0\" class=\"data row2 col0\" >一般程序员</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col1\" class=\"data row2 col1\" >14936</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col2\" class=\"data row2 col2\" >4500</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col3\" class=\"data row2 col3\" >12500</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col4\" class=\"data row2 col4\" >35000</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col5\" class=\"data row2 col5\" >95478</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow2_col6\" class=\"data row2 col6\" >86.31%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_5a6ded34_b594_11e9_855e_701ce71031eflevel0_row3\" class=\"row_heading level0 row3\" >3</th> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col0\" class=\"data row3 col0\" >爬虫工程师</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col1\" class=\"data row3 col1\" >13651</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col2\" class=\"data row3 col2\" >3487.5</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col5\" class=\"data row3 col5\" >219</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.20%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_5a6ded34_b594_11e9_855e_701ce71031eflevel0_row4\" class=\"row_heading level0 row4\" >4</th> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col0\" class=\"data row4 col0\" >生物信息工程师</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col1\" class=\"data row4 col1\" >10125</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col2\" class=\"data row4 col2\" >7000</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col3\" class=\"data row4 col3\" >8900</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col4\" class=\"data row4 col4\" >14000</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col5\" class=\"data row4 col5\" >20</td> \n",
       "        <td id=\"T_5a6ded34_b594_11e9_855e_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.02%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25946e55ba8>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_career = get_sub_stats_by_col(data,'career')\n",
    "data_career.style.format({\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16113.131927934117"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(data.monthly_salary * data.headcount) / data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "110621"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    35811.000000\n",
       "mean         3.089023\n",
       "std          3.376158\n",
       "min          0.000000\n",
       "25%          1.000000\n",
       "50%          2.000000\n",
       "75%          5.000000\n",
       "max        200.000000\n",
       "Name: headcount, dtype: float64"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>company_size</th>\n",
       "      <th>company_title</th>\n",
       "      <th>company_type</th>\n",
       "      <th>page_title</th>\n",
       "      <th>ageism</th>\n",
       "      <th>db_Apache_Hive</th>\n",
       "      <th>db_CouchBase</th>\n",
       "      <th>db_CouchDB</th>\n",
       "      <th>db_DB2</th>\n",
       "      <th>db_DynamoDB</th>\n",
       "      <th>db_Elasticsearch</th>\n",
       "      <th>db_FileMaker</th>\n",
       "      <th>db_Firebase</th>\n",
       "      <th>db_Firebird</th>\n",
       "      <th>db_Hbase</th>\n",
       "      <th>db_Informix</th>\n",
       "      <th>db_Ingres</th>\n",
       "      <th>db_MariaDB</th>\n",
       "      <th>db_Memcached</th>\n",
       "      <th>db_MongoDB</th>\n",
       "      <th>db_MySQL</th>\n",
       "      <th>db_Neo4j</th>\n",
       "      <th>db_Netezza</th>\n",
       "      <th>db_Oracle</th>\n",
       "      <th>db_PostgreSQL</th>\n",
       "      <th>db_Redis</th>\n",
       "      <th>db_Riak</th>\n",
       "      <th>db_SAP_HANA</th>\n",
       "      <th>db_SQL_Server</th>\n",
       "      <th>db_SQLite</th>\n",
       "      <th>db_Solr</th>\n",
       "      <th>db_Splunk</th>\n",
       "      <th>db_Sybase</th>\n",
       "      <th>db_Teradata</th>\n",
       "      <th>db_dBase</th>\n",
       "      <th>edu</th>\n",
       "      <th>english</th>\n",
       "      <th>experience</th>\n",
       "      <th>expert_adas</th>\n",
       "      <th>expert_blockchain</th>\n",
       "      <th>expert_embed</th>\n",
       "      <th>expert_expert</th>\n",
       "      <th>expert_gis</th>\n",
       "      <th>_996_yes</th>\n",
       "      <th>_996_no</th>\n",
       "      <th>industry</th>\n",
       "      <th>japanese</th>\n",
       "      <th>job_description</th>\n",
       "      <th>job_summary</th>\n",
       "      <th>job_tags</th>\n",
       "      <th>phone_android</th>\n",
       "      <th>phone_app</th>\n",
       "      <th>phone_iso</th>\n",
       "      <th>pl_c_sharp</th>\n",
       "      <th>pl_cpp</th>\n",
       "      <th>pl_delphi</th>\n",
       "      <th>pl_go</th>\n",
       "      <th>pl_haskell</th>\n",
       "      <th>pl_java</th>\n",
       "      <th>pl_javascript</th>\n",
       "      <th>pl_julia</th>\n",
       "      <th>pl_kotlin</th>\n",
       "      <th>pl_lua</th>\n",
       "      <th>pl_matlab</th>\n",
       "      <th>pl_objective_c</th>\n",
       "      <th>pl_perl</th>\n",
       "      <th>pl_php</th>\n",
       "      <th>pl_python</th>\n",
       "      <th>pl_ruby</th>\n",
       "      <th>pl_rust</th>\n",
       "      <th>pl_scrala</th>\n",
       "      <th>pl_swift</th>\n",
       "      <th>pl_typescript</th>\n",
       "      <th>pl_vba</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>30817</th>\n",
       "      <td>75596794</td>\n",
       "      <td>7500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA 工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>深圳</td>\n",
       "      <td>四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...</td>\n",
       "      <td>500-1000</td>\n",
       "      <td>深圳四方精创资讯股份有限公司</td>\n",
       "      <td>合资</td>\n",
       "      <td>【深圳JAVA 工程师_JAVA 工程师招聘_深圳四方精创资讯股份有限公司】-前程无忧官方招聘网站</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>1_3</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>岗位职责1.按照上级计划和安排进行技术开发工作；2. 负责金融行业应用平台后端模块开发工作；...</td>\n",
       "      <td>深圳|1年经验|本科|招200人|07-31发布</td>\n",
       "      <td>五险一金,专业培训,年终奖金,员工旅游</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10742</th>\n",
       "      <td>110969579</td>\n",
       "      <td>12500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA开发工程师（2019届应届毕业生）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>广州汇智通信技术有限公司</td>\n",
       "      <td>国企</td>\n",
       "      <td>【广州JAVA开发工程师（2019届应届毕业生）_JAVA开发工程师（2019届应届毕业生）...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>广州汇智通信技术有限公司                                  ...</td>\n",
       "      <td>广州|无工作经验|本科|招200人|07-15发布</td>\n",
       "      <td>五险一金,补充医疗保险,补充公积金,交通补贴,年终奖金,绩效奖金,通讯补贴,定期体检,餐饮补贴</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-15</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22409</th>\n",
       "      <td>114568087</td>\n",
       "      <td>3750</td>\n",
       "      <td>151</td>\n",
       "      <td>C#软件开发</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...</td>\n",
       "      <td>50-150</td>\n",
       "      <td>北京其然科技有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【北京-海淀区C#软件开发_C#软件开发招聘_北京其然科技有限公司】-前程无忧官方招聘网站</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>大专</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>熟悉面向对象思想熟悉.Net架构体系精通C#开发语言熟悉WinFrom开发熟悉Asp.Net...</td>\n",
       "      <td>北京-海淀区|无工作经验|大专|招151人|07-31发布</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6525</th>\n",
       "      <td>108834444</td>\n",
       "      <td>15000</td>\n",
       "      <td>150</td>\n",
       "      <td>Java开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...</td>\n",
       "      <td>5000-10000</td>\n",
       "      <td>大连华信计算机技术股份有限公司</td>\n",
       "      <td>合资</td>\n",
       "      <td>【北京-朝阳区Java开发工程师_Java开发工程师招聘_大连华信计算机技术股份有限公司】-...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>5_10</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>1、5年以上java开发工作经验。2、有丰富研发经验；深入理解SpringCloud、spr...</td>\n",
       "      <td>北京-朝阳区|5-7年经验|本科|招150人|07-31发布</td>\n",
       "      <td>五险一金,补充医疗保险,定期体检,年终奖金</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11923</th>\n",
       "      <td>111488966</td>\n",
       "      <td>8500</td>\n",
       "      <td>90</td>\n",
       "      <td>开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>东华医为科技有限公司（简称东华医为）成立于2012年5月，注册资金5000万，是东华软件股份...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>东华医为科技有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【广州开发工程师_开发工程师招聘_东华医为科技有限公司】-前程无忧官方招聘网站</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>medical</td>\n",
       "      <td>False</td>\n",
       "      <td>工作职责：1、软件的程序设计与代码编写。 2、有关技术方案、文档的编写，软件单元的测试。 3...</td>\n",
       "      <td>广州|无工作经验|本科|招90人|07-31发布</td>\n",
       "      <td>五险一金,通讯补贴,年终奖金,定期体检</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-07-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount                  title  \\\n",
       "30817   75596794            7500        200               JAVA 工程师   \n",
       "10742  110969579           12500        200  JAVA开发工程师（2019届应届毕业生）   \n",
       "22409  114568087            3750        151                 C#软件开发   \n",
       "6525   108834444           15000        150              Java开发工程师   \n",
       "11923  111488966            8500         90                  开发工程师   \n",
       "\n",
       "      zhinengleibie career real_province province city  \\\n",
       "30817         软件工程师  一般程序员          None       广东   深圳   \n",
       "10742         软件工程师  一般程序员          None       广东   广州   \n",
       "22409         软件工程师  一般程序员          None       北京   北京   \n",
       "6525          软件工程师  一般程序员          None       北京   北京   \n",
       "11923         软件工程师  一般程序员          None       广东   广州   \n",
       "\n",
       "                                     company_description company_size  \\\n",
       "30817  四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...     500-1000   \n",
       "10742  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    1000-5000   \n",
       "22409  北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...       50-150   \n",
       "6525   大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...   5000-10000   \n",
       "11923  东华医为科技有限公司（简称东华医为）成立于2012年5月，注册资金5000万，是东华软件股份...    1000-5000   \n",
       "\n",
       "         company_title company_type  \\\n",
       "30817   深圳四方精创资讯股份有限公司           合资   \n",
       "10742     广州汇智通信技术有限公司           国企   \n",
       "22409       北京其然科技有限公司         民营公司   \n",
       "6525   大连华信计算机技术股份有限公司           合资   \n",
       "11923       东华医为科技有限公司         民营公司   \n",
       "\n",
       "                                              page_title  ageism  \\\n",
       "30817  【深圳JAVA 工程师_JAVA 工程师招聘_深圳四方精创资讯股份有限公司】-前程无忧官方招聘网站   False   \n",
       "10742  【广州JAVA开发工程师（2019届应届毕业生）_JAVA开发工程师（2019届应届毕业生）...   False   \n",
       "22409      【北京-海淀区C#软件开发_C#软件开发招聘_北京其然科技有限公司】-前程无忧官方招聘网站   False   \n",
       "6525   【北京-朝阳区Java开发工程师_Java开发工程师招聘_大连华信计算机技术股份有限公司】-...   False   \n",
       "11923            【广州开发工程师_开发工程师招聘_东华医为科技有限公司】-前程无忧官方招聘网站   False   \n",
       "\n",
       "       db_Apache_Hive  db_CouchBase  db_CouchDB  db_DB2  db_DynamoDB  \\\n",
       "30817           False         False       False   False        False   \n",
       "10742           False         False       False   False        False   \n",
       "22409           False         False       False   False        False   \n",
       "6525            False         False       False   False        False   \n",
       "11923           False         False       False   False        False   \n",
       "\n",
       "       db_Elasticsearch  db_FileMaker  db_Firebase  db_Firebird  db_Hbase  \\\n",
       "30817             False         False        False        False     False   \n",
       "10742             False         False        False        False     False   \n",
       "22409             False         False        False        False     False   \n",
       "6525              False         False        False        False     False   \n",
       "11923             False         False        False        False     False   \n",
       "\n",
       "       db_Informix  db_Ingres  db_MariaDB  db_Memcached  db_MongoDB  db_MySQL  \\\n",
       "30817        False      False       False         False       False      True   \n",
       "10742        False      False       False         False       False     False   \n",
       "22409        False      False       False         False       False     False   \n",
       "6525         False      False       False         False       False      True   \n",
       "11923        False      False       False         False       False      True   \n",
       "\n",
       "       db_Neo4j  db_Netezza  db_Oracle  db_PostgreSQL  db_Redis  db_Riak  \\\n",
       "30817     False       False       True          False     False    False   \n",
       "10742     False       False      False          False     False    False   \n",
       "22409     False       False      False          False     False    False   \n",
       "6525      False       False       True          False     False    False   \n",
       "11923     False       False       True          False     False    False   \n",
       "\n",
       "       db_SAP_HANA  db_SQL_Server  db_SQLite  db_Solr  db_Splunk  db_Sybase  \\\n",
       "30817        False          False      False    False      False      False   \n",
       "10742        False          False      False    False      False      False   \n",
       "22409        False          False      False    False      False      False   \n",
       "6525         False          False      False    False      False      False   \n",
       "11923        False           True      False    False      False      False   \n",
       "\n",
       "       db_Teradata  db_dBase edu  english experience  expert_adas  \\\n",
       "30817        False     False  本科    False        1_3        False   \n",
       "10742        False     False  本科    False         no        False   \n",
       "22409        False     False  大专    False         no        False   \n",
       "6525         False     False  本科    False       5_10        False   \n",
       "11923        False     False  本科    False         no        False   \n",
       "\n",
       "       expert_blockchain  expert_embed  expert_expert  expert_gis  _996_yes  \\\n",
       "30817              False         False          False       False     False   \n",
       "10742              False         False          False       False     False   \n",
       "22409              False         False          False       False     False   \n",
       "6525               False         False          False       False     False   \n",
       "11923              False         False          False       False     False   \n",
       "\n",
       "       _996_no  industry  japanese  \\\n",
       "30817    False  computer     False   \n",
       "10742    False  computer     False   \n",
       "22409    False  computer     False   \n",
       "6525     False  computer     False   \n",
       "11923    False   medical     False   \n",
       "\n",
       "                                         job_description  \\\n",
       "30817  岗位职责1.按照上级计划和安排进行技术开发工作；2. 负责金融行业应用平台后端模块开发工作；...   \n",
       "10742  广州汇智通信技术有限公司                                  ...   \n",
       "22409  熟悉面向对象思想熟悉.Net架构体系精通C#开发语言熟悉WinFrom开发熟悉Asp.Net...   \n",
       "6525   1、5年以上java开发工作经验。2、有丰富研发经验；深入理解SpringCloud、spr...   \n",
       "11923  工作职责：1、软件的程序设计与代码编写。 2、有关技术方案、文档的编写，软件单元的测试。 3...   \n",
       "\n",
       "                          job_summary  \\\n",
       "30817        深圳|1年经验|本科|招200人|07-31发布   \n",
       "10742       广州|无工作经验|本科|招200人|07-15发布   \n",
       "22409   北京-海淀区|无工作经验|大专|招151人|07-31发布   \n",
       "6525   北京-朝阳区|5-7年经验|本科|招150人|07-31发布   \n",
       "11923        广州|无工作经验|本科|招90人|07-31发布   \n",
       "\n",
       "                                              job_tags  phone_android  \\\n",
       "30817                              五险一金,专业培训,年终奖金,员工旅游          False   \n",
       "10742  五险一金,补充医疗保险,补充公积金,交通补贴,年终奖金,绩效奖金,通讯补贴,定期体检,餐饮补贴          False   \n",
       "22409                                                           False   \n",
       "6525                             五险一金,补充医疗保险,定期体检,年终奖金          False   \n",
       "11923                              五险一金,通讯补贴,年终奖金,定期体检          False   \n",
       "\n",
       "       phone_app  phone_iso  pl_c_sharp  pl_cpp  pl_delphi  pl_go  pl_haskell  \\\n",
       "30817      False      False       False   False      False  False       False   \n",
       "10742       True       True        True    True      False  False       False   \n",
       "22409      False      False        True   False      False  False       False   \n",
       "6525       False      False       False   False      False   True       False   \n",
       "11923      False      False        True   False      False  False       False   \n",
       "\n",
       "       pl_java  pl_javascript  pl_julia  pl_kotlin  pl_lua  pl_matlab  \\\n",
       "30817     True          False     False      False   False      False   \n",
       "10742     True          False     False      False   False      False   \n",
       "22409    False           True     False      False   False      False   \n",
       "6525      True          False     False      False   False      False   \n",
       "11923    False           True     False      False   False      False   \n",
       "\n",
       "       pl_objective_c  pl_perl  pl_php  pl_python  pl_ruby  pl_rust  \\\n",
       "30817           False    False   False      False    False    False   \n",
       "10742           False    False   False      False    False    False   \n",
       "22409           False    False   False      False    False    False   \n",
       "6525            False    False   False       True    False    False   \n",
       "11923           False    False    True      False    False    False   \n",
       "\n",
       "       pl_scrala  pl_swift  pl_typescript  pl_vba  pl_visual_basic  \\\n",
       "30817      False     False          False   False            False   \n",
       "10742      False     False          False   False            False   \n",
       "22409      False     False          False   False            False   \n",
       "6525       False     False          False   False            False   \n",
       "11923      False     False          False   False            False   \n",
       "\n",
       "      publish_date  published_on_weekend  tag_baby_care  tag_five_insurance  \\\n",
       "30817   2019-07-31                 False          False                True   \n",
       "10742   2019-07-15                 False          False                True   \n",
       "22409   2019-07-31                 False          False               False   \n",
       "6525    2019-07-31                 False          False                True   \n",
       "11923   2019-07-31                 False          False                True   \n",
       "\n",
       "       tag_flexible  tag_no_overtime  tag_rest_one_day  tag_rest_two_days  \\\n",
       "30817         False            False             False              False   \n",
       "10742         False            False             False              False   \n",
       "22409         False            False             False              False   \n",
       "6525          False            False             False              False   \n",
       "11923         False            False             False              False   \n",
       "\n",
       "       tag_stock  \n",
       "30817      False  \n",
       "10742      False  \n",
       "22409      False  \n",
       "6525       False  \n",
       "11923      False  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.options.display.max_columns=100\n",
    "data.sort_values(by='headcount', ascending=False).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "110621"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 城市"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "headcount_by_cities = data.groupby(by='city').headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "city\n",
       "上海    36182\n",
       "北京    21211\n",
       "广州    22563\n",
       "深圳    30665\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "headcount_by_cities\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.patches.Wedge at 0x25950908128>,\n",
       "  <matplotlib.patches.Wedge at 0x25950908860>,\n",
       "  <matplotlib.patches.Wedge at 0x25950908f60>,\n",
       "  <matplotlib.patches.Wedge at 0x259509066a0>],\n",
       " [Text(0.5686052095131852, 0.9416411820404135, '上海'),\n",
       "  Text(-0.9736037862723731, 0.5119527979766293, '北京'),\n",
       "  Text(-0.7980280801715526, -0.7570674892357393, '广州'),\n",
       "  Text(0.7085742158405794, -0.8413813526849214, '深圳')],\n",
       " [Text(0.31014829609810096, 0.5136224629311346, '32.7%'),\n",
       "  Text(-0.5310566106940217, 0.27924698071452503, '19.2%'),\n",
       "  Text(-0.43528804372993773, -0.4129459032194941, '20.4%'),\n",
       "  Text(0.3864950268221342, -0.45893528328268435, '27.7%')])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcgAAAHICAYAAADKoXrqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xd4XNWB/vHvmWZLthn3ggHL9LERPZSQUJKQJiB9N9mUSd/0LJtfskohmeyGoFRKAoQsEEwJkA3pgkBICCRAKKENyQzYBknuRZZtdVkz5/fHFdjAWJalmTl37n0/zzOPQR5pXrd5de49xVhrERERkReKuA4gIiLiRypIERGRElSQIiIiJaggRURESlBBioiIlKCCFBERKUEFKSIiUoIKUkREpAQVpIiISAkqSBERkRJUkCIiIiWoIEVEREpQQYqIiJSgghQRESlBBSkiIlKCClJERKQEFaSIiEgJKkgREZESVJAiIiIlqCBFRERKUEGKiIiUoIIUEREpQQUpIiJSggpSRESkBBWkiIhICSpIERGRElSQIiIiJaggRURESlBBioiIlKCCFBERKUEFKSIiUoIKUkREpAQVpIiISAkqSBERkRJUkCIiIiWoIEVEREpQQYqIiJSgghQRESlBBSkiIlKCClJERKQEFaSIiEgJKkgREZESVJAiIiIlqCBFRERKUEGKiIiUoIIUEREpQQUpIiJSggpSRESkBBWkiIhICSpIERGRElSQIiIiJaggRURESoi5DiASZg3NrVGgbuQxGSgCO0YewyM/DrW1NBWdhRQJKWOtdZ1BpKY1NLfWAwuAfUv8OBeYws4SfPEjPsaXGQR6gb6RRy/QCazf3aOtpalz4r86kfBSQYrswcgo72BgKbAEOBRYyM4iTLpLN6ohYCNeYT4L5ID8yI9PtbU09TvMJuJ7KkiREQ3NrXHgELwSXMILCzHhMFolFIF2vLLctThzbS1NW1wGE/ELFaSEVkNz66HAKSOPk/CKcKyXPIOsA7gfuG/k8VhbS9Ow20gi1aeClFBoaG5NAMexsxBfjnd/UPasD3iInYV5n0aZEgYqSAmkhubWOuB04FTgFcDxeLNEZeIs8DRwL/BH4PdhL0xjjLEjb6bGmAOBbdZaTZKqcSpICYyG5tZ9gbNGHq/BmyUqlVfAuyTbCrS2tTRlHeepGGPMn4HXWmuHdvlYArgDuNha+0tjzM+AB4HHRp4SBR601nZVO69MjApSalpDc+uxwNkjj2MB4zaR4N3DbB15/ClIs2WNMY9ba48q8fEZwP8DrgW+B9y0y08ngFutteurk1LKRQUpNaWhuXUy3ujwbKAJb7mF+Fc/8Cfgt8DPa31tpjHmMWvt0SP/bfBGh41461JXAL/npTuUXW+tvaaaOaU8VJBSExqaW08B0sC/4N91hzK6IeBW4Drgd20tTUN7eL7vGGMeAwZG/jcCPAxcBrQA1wCPAF8DzgPeijeK/hdr7flVDysTpoIU32pobl0EvG/kcbDjOFJeW4CfAde2tTTd7zrMWO06gizxc9OBS4EzgH8C0/DWm84BPmutba1aUCkLFaT4SkNz61Tg7XijxdPQPcUwWA5cD1zX1tL0rOswo9ldQRpjjgfeCXwZ+BFwFV45gncJ9kprbaFqQaUsVJDiCw3NracDHwDehrd3qYSPxVs6cgVwc1tL0w7HeV5ilIK8CrgcWAn8N/AV4EPA48BCa+21VQ0qZaGCFGdGFu+/GzgX77tskeesw7tc+SOXE3uMMTHAPjf6e3FBGmOiwGLgx9baVxlj5uONhp+zEO/e66nW2m1VjC5loIKUqmtobp0FfBz4JDDfcRzxt368wrmoraXpn9V+cWPMh4GPsvNy6YtF8Cbi3G+tveNFn3socCPwZmvtqooGlYpQQUrVjOx9ei7e/UUt4pe9dQdwIXB7W0uT79+4RpaBJKy1g66zyPioIKXiGppbzwD+E2/doibdyETlgIvxZsAGZhMC8R8VpFRMQ3PrW/AmKxzrOosE0nrgm8AVtbimUvxPBSll19Dc2oQ3k0/FKNXQgff3bZmO5ZJyUkFK2Rza/KtXDRE/H+9sRZFqW463i81NtXCPUvxPBSkTl0keB3zrxuEzYl8c/shpruNI6GWB89pamn7tOojUNhWkjF8meSBwPvCvgClas+XIwf+N9VC/j+NkIuAd8vyVtpamO/b4TJESVJCy9zLJOXibMf873lE+z7u1cMKfP7HjP053EUtkN+4EPutiHaXUNhWkjF0mGQE+hjdzsOSJGtbSc/zg5QOdJGdXNZvI6IaBHwKZtpYm7WgjY6KClLHJJBuBHzOGCTj3FZbc/W87vqJ7keJHG4AvAtdoIo/siQpSRpdJ1uHNDPwcEBvLp1jL4CuHLu5cbefsW9FsIuN3H/CxtpamrOsg4l8qSNm9TPJ1eCcULN7bT80WG/5y9tA3X1n+UCJlM4y3dV2mraWpz3UY8R8VpLxUJjkP743jXeP9EtZSeP1QS8dT9oC9LleRKmsHPt3W0vRb10HEX1SQslMmaYCPAC3AjIl+uWeL8+8/Y+j7J084l0h1XAd8qq2labvrIOIPEdcBxCcyySXAPXiH1U64HAEazPqTjjVP58vxtUSq4L3AEw3NrZpgJoBGkAKQSX4W+DYvWtNYDhvs9IdPHLzs+HJ/XZEKKuLdYvhyW0uTjqoKMRVkmGWSM4FrgLMr+TIfHPp/j/+peOxRlXwNkQrIAu9pa2l6wnUQcUMFGVaZ5CvwTjvfr9Ivtc3WP3HU4JVHVvp1RCpgCG/XqO+2tTQVXYeR6tI9yLDJJCNkkl8B/kwVyhEgafqOfFvknoeq8VoiZZYAvgXc1dDcush1GKkujSDDJJNcAFwPvKraL91nE08tGfzJoWBMtV9bpEy2Ax9sa2m6xXUQqQ6NIMPCW/T/GA7KEaDeDB32oeht97t4bZEy2Qf4eUNz6wUNza167wwBjSCDLpOM4R1J9XnA6ehtyEbbU4PXLCwQHdOWdSI+djvwb20tTVtcB5HK0XdBQZZJHgD8BfgCjssRIGEKi/4z9nONIiUIXgc83NDcqtnZAaYRZFBlkicCvwHmuo6yq4KNrFsyePWMQRKTXWcRKYM+4MNtLU03ug4i5acRZBBlkm8D7sJn5QgQNcUFX4td+4DrHCJlUg/8tKG59fsNza1R12GkvDSCDJpM8vN409KdX1LdnaI1WxoHr4z3UjfNdRaRMroL+Ne2lqZNroNIeWgEGRSZZIxM8kd4W8b5thwBIsbO/Hb8x393nUOkzM4AHmpobj3cdRApD40ggyCT3Af4Gd7EgZpgLd3HDV4+tIXkLNdZRMqsEzirraXpb66DyMRoBFnrMsn9gb9SQ+UIYAzTfhD/4ZOuc4hUwCzgjw3NrW90HUQmRgVZyzLJY4EHgEbXUcbj5ZF/nLiQTetc5xCpgHrg1w3Nre9zHUTGTwVZqzLJc/DOb1zgOsp4GcPkyxMXrXCdQ6RCYsA1Dc2tX3AdRMZH9yBrUSb5YbyDjWv+GxxrKbxu6FsdT9v9F7vOIlJBFwKfa2tp0htuDan5N9jQySQ/AvyYgPzZGUP0R/EL17vOIVJh5wLXNTS3xl0HkbELxJtsaHjleAU+X8axtxab9Scda57Ou84hUmHvBn7b0Nxa7zqIjI0KslYEtBwBjMFclri4x3UOkSp4HfCbhuZWbbVYA1SQtSDA5fic+abr+DMijz7uOodIFbwa+EVDc2vCdRAZnQrS70JQjs+5MH5Z4H+NIiPeAPxM9yT9TQXpZyEqR4DppvfIt0T+8pDrHCJV8ibgBm1y7l8qSL8KWTk+5/z41fuA1h5JaLwDWNbQ3Kr3Yh/SH4ofhbQcAerN4GEfjP5ehypLmLwb+N+G5tbQ/Xv3OxWk32SSHyCk5fic5tiN+0YpDLvOIVJFHwQudR1CXkgF6SeZ5Jl4mwCEthwBEma44dzYzzWKlLD5eENz6/ddh5CdtNWcX2SSS4H7gH1cR/GDYRtZt3Tw6hmDJLReTMLm3LaWpotchxCNIP0hk5wP3IrK8XkxU1xwXuy6B1znEHHgew3NrWe7DiEaQbqXSdYDdwPHu47iN0VrOhsHr0z0UjfNdRaRKusFXtnW0vSo6yBhphGkS5lkBLgBlWNJEWNnfSv+47+7ziHiwBS8fVsXug4SZipIt74LvNl1CD9rijxw3Ey2dbrOIeLAQuB3Dc2tU1wHCSsVpCuZ5CfwjsCRURjDtIvjlz7pOoeII0cDN2ojATf0m+5CJvkG4BLXMWrFKyJPnriQTetc5xBx5GxAyz8cUEFWWyZ5FHAzoP0Xx8gYJl+WuHiF6xwiDn22obn1E65DhI0KspoyybnA7wDNytxLR5pnTj7ErG5znUPEoUsamltPdx0iTFSQ1ZJJGuBaYD/XUWqRMcR+FL9Ql1klzKLATxuaW+e6DhIWKsjq+TzeaeIyTgeadScdY5Y/5TqHiEMLgOs1aac69JtcDZnkScD5rmPUOmMwlycu2u46h4hjZwJfch0iDFSQlZZJTgduBGKuowTBfNP1stMjjz3hOoeIY5mG5tbTXIcIOhVk5V0JNLgOESQXxS/V/ogSds/dj5zjOkiQqSArKZP8OPA21zGCZrrpPerNkb8+7DqHiGP74t2PDPXxeJWkgqwUb72jFvdWyDfjV00F7bQvofdadD+yYlSQlZBJTgFuAnSWYYXUm8HDPxD9/d9c5xDxga83NLee6jpEEKkgK+OHwOGuQwTdF2M3zo9SGHadQ8SxKHBDQ3OrzpMtMxVkuWWS7wHe7zpGGCTM8OLPxm7RKFLE24Dk265DBI0OTC6nTHIBkAOSrqOExbCNrF0y+JNZQ8Qnuc4i4pgFXtXW0vRn10GCQiPI8roElWNVxUxx3/Ni12kUKQIGuLKhubXedZCgUEGWSybZBLzddYwwenf0j0dMob/bdQ4RHzgI+B/XIYJCBVkO3qzVS13HCKuIsbNa4v/7d9c5RHziPxqaW090HSIIAleQxph3GWOqfZnz68CiKr+m7OKsyN+OncH2La5zhEmhv5v+Zx+l0LetfF+ztwurickTFQGubmhuTbgOUutqZpKOMWYZ3qWDVwJRa+2VIx+fBywBdow89V8Z2YZp5P/jwFPW2rUVCZZJHg08hPZade6eQuPd79vxRe1PWQWFgR42/V+GuoNeRm/uHua+/Wt03n4p2CImPok5b/ovTDT+ks/rfvRWenP3AFAc7GXSgsOIz1lE75N/Yt67LqDv6XuZesSrq/3LCapvtLU0nec6RC2rpYK8EvgG8AogZq29ZuTjhwFNwNBuPjUB3GGtfbLsoTLJCPA34GVl/9qy16xl4JTBS7rWMnuB6yxBN9CRxUTjTFp4OF1/uoroPrOJzzqAusXH0Hn7pdQdeDz1h4x+lW/LH37ElCNeTc9jt5FYcAjxmQsp9Hcz5bBTqvSrCLxh4Pi2lqbHXQepVb6/xGqMie7m4zOMMb8Adlhrvw8cjzdJZtdHk7X2+xUpR88nUTn6hjFMvixx8QrXOcJg8gGNTFp4OAOrnmRw3dNMbTyTusXHAFDs20a0fvS7HMPdmyn0bmXSgkOw1mILw/Q/+yh1Bx5XjfhhEQOu0tmR4+fr37iRe4l3GmPuBN6wy0+dA9wMXG2tfWbkY4dba0/f9QHMrFi4THIhOuPRd44yK08+xKxuc50jDKy19Ob+QmTyVIh438cOrslRHOxh0sLRN5LqfqSVace8EYC6xcfQv/IhYtNms+mW/2GgXaeZldFxwIdch6hVvi5Ia+02a+0Z1trXALft8lM54HXW2t/t8rFSI81KXj/+ATCtgl9fxsEYYpfHL6zM/WZ5AWMMs177cRJzGuhf8QCF/m623HkFs97wH6N+nrVFBjqeYNIBjQBMSZ3K9FP+jcjkKdQd9DL6nr63GvHD5BsNza1anz0Ovi7IUSy3L715+g9jzJ+NMY8bY9qNMX8Guiry6pnkOcBbKvK1ZcIOMutOPtqseMp1jiDb9ref0/PkHwFvsk1k0hQ2//oCpp+aJpacO+rnDq76B5MWHIYxO09p2tG1ltj0BZhonFqZF1FD5gJfdR2iFtVEQRpj5gMLS3x815mjjwI/AT4HXAdczs6ZrOWTSSaAi8v+daVsjMFcnrhou+scQTb16NfT++RdrL/hv7C2yPC2DQytX8m2+29m/U+b6c3dw9DmDrruue4ln9v/7CNM3v+I5/+/ONhHdMoM4rP2p/vx31O36Ohq/lLC4tMNza2Hug5Ra3w9i9UYcybe0o483ukY7wROBhZba79pjPkYMAsoAieM/PwrgdOBC4DrgXbgP621xbKEyiTPRec81oT3Df3XE/cUjzrSdQ4Rn2hta2k6y3WIWuL3EeQ9wGnW2vcDK/CWbNwDnDxyCfVsvNHiLOAdeDNKzwXWW2t7gbcBa4HybGSdSSaBL5fla0nFXRy/1L/f/YlUX1NDc+sZrkPUEl+PIPeWMWYW3o42j5a4RzlxmeQ3gS+W/etKxXx26JMP/7p4yvGuc4j4xN+Bl7W1NAXnjb+C/D6C3CvW2k5r7SMVKsd9gdGn54nvfDN+5RQI0HeBIhNzHPAu1yFqRaAKssK+DtS5DiF7Z4oZTKWjt+s4LJGdvtnQ3KrzU8dABTkWmeQhwAdcx5Dx+VLsp/MjFAuuc4j4xCLg465D1AIV5Nh8jdIbEUgNmGSGF382dsv9rnOI+MjnNYrcMxXknmSSKXTNvuZ9MvrrAxPsGHSdQ8Qn9gXe7zqE36kg9yyDfp9qXswU9/1K7HrdixTZ6b8amlt1TN8o9MY/mkyyEW99pQTAe6J3Lp1Cf4/rHCI+sRj4N9ch/EwFOboMYPb0JKkNEWNnXxC/8mHXOUR85Is6Dmv39BuzO5nkwWhD8sA5O3L/sTPYvsV1DhGfOBxvxzEpQQW5e59Co8fAMYZ9LopflnWdQ8RHvuQ6gF+pIEvJJKehdY+BdWrkiRMW0LnedQ4Rnzi6oblVm5iXoIIs7QPAPq5DSGUYQ91liYuedp1DxEd0CEMJKsgXyyQjwKddx5DKOtqsfPlBZk276xwiPnFSQ3Praa5D+I0K8qXeCBzsOoRUljHErohfuMZ1DhEf0fZzL6KCfKnPuA4g1XGQWXvyUWaFLrWKeN7S0Nw613UIP1FB7iqTXAKc6TqGVIcxmMsTF211nUPEJxLAB12H8BMV5Atp9Bgy+5otJ7wy8oSWfYh4PtrQ3KrlbSNUkM/JJGcA73UdQ6rvkvgPdRSWiGcx8FrXIfxCBbnTh4F61yGk+maYnqPPjtynLehEPB9zHcAvjLXWdQb3MskosBLvIFEJoV47Kbd08OrDwejykoTdMNDQ1tIU+lneGkF6zkDlGGpTzGDqfdE7dByWCMTwrqiFngrSowORhS/HbpgXoaj7kSLw4Ybm1qjrEK6pIDPJBPBW1zHEvUlm+MDPxH5xv+scIj6wH9DkOoRrKkh4PTDddQjxh09Ff7U4wY5B1zlEfCD0V9ZUkPpLILuImeLCL8du0L1IETirobl1susQLoW7IDPJeuBs1zHEX94b/cOSKfT3uM4h4thU4A2uQ7gU7oKEc4AprkOIv0SMnfPN+FVaFykC73AdwKWwF+Q7XQcQfzonct8x0+nucp1DxLGzw3yZNbwFmUlOJ+SXD2T3jCF5UfzSJ1znEHEs1JdZw1uQ3tKOhOsQ4l+nRZ44YQGd613nEHEstJdZw1yQurxaRqu2FV1HKDtjqLs0cbHOi5SwC+1l1nAWZCY5D3iV6xiubOgp8sqf9ALwyLoCr7m2l1Ou7uV79+1++V/HtiKnX9PLq5b18tHf9mOt5Yt3DvC663ux1nJX23C14lfVMWbFyQeate2uc4g4NBVvvXjohLMgvaUdodxGqavfkv5VP71D3ib1n75tgJ+8qY6/fqCeW3LDPNtVeiR4xcNDXN40mT+lp7Bqe5HsxiKb+izHzo/y6PoiBySD+VfJGOJXxC8M/abNEnqhvMwazHe1PTvTdQBXohG4+e317DPJO7RiS79l/2QEYwyz6g3bB0uf7nL+qyeTmuN9T9HZZ5ldb7AWhotwT/swpy0K7vcbB5s1Jx1pVi53nUPEobMamltjrkNUW/gKMpM0hPjy6j6TDMnJO090OmX/KD98cIifZnfQtrXIkfNG/ytx85M7WDo3yr7TIhwxN0L7tiIRA6de00duUzD3+TaGyOWJi7TkQ8JsH+AE1yGqLXwFCUcCs12H8IsrzprM4bMj/PDBIf7rlARmlOMQn+kq8t37B7nodd79+nNPnsR7j4xTHze89fAYrcuDeR8SYKHpPOEVkWzWdQ4Rh17tOkC1hbEgX+M6gJ9EI4bDZnl/Dd7dGN/t87r6Le+6pY+rz6l7wQh064BlWsIwKWYoBvzs7UviPwzmEFlkbFSQIRC6P+Q9+cpdg3zrNZOeHz3+6dlhfvjg0Aue0/LXQTq2WT592wCnX9PL3W3DPN1Z4Kj5UU5YGOUHDw4F+j4kwEzTffRZkfv/7jqHiCMnNzS31rsOUU3G2oB/27+rTDIOdKH9V2Wceu3k3NLBq1Ouc4g48vq2lqbbXYeolrCNIE9C5SgTMMUMpN4bvUPHYUlYheoKXNgKUvcfZcK+Ert+boSi7kdKGKkgAyxUf7hSGZPM8IGfiv7yftc5RBw4uqG5dabrENUSnoLMJKcBJ7qOIcHwmdgvG+IMD+35mSKBEiFE68jDU5BwKhC6nSCkMmKmuN+XYjdoFClhFJorcWEqyND8oUp1pKN3LKlnoNd1DpEqe4XrANUSpoIM3TZJUlkRY+ecH7/qIdc5RKos1dDcWuc6RDWEoyC9/VePdB1DgufNkXuPmU639mmVMIkSkvfTcBQkHAhMcx1CgscYkhfGL3vCdQ6RKjvWdYBqCEtBHu06gATX6ZHHT5jPlg2uc4hUkQoyQI5yHUCCyxjqLk1c/JTrHCJVpIIMEBWkVNSxZvnJi83aDtc5RKrkiIbm1t0f/xMQYSlIXWKVijKG+BXxC1e7ziFSJQngCNchKi34BZlJzgAOcB1Dgu8Qs+akRvPMctc5RKok8JdZg1+QIZmOLO4ZQ+RHiQu15EPCQgUZALq8KlWz0HSecErkySdd5xCpAhVkAGiCjlTVJfEf7HCdQaQKAn9weBgKUiNIqapZpvuYpsjf/u46h0iFJYN+9FWwCzKTjAJLXMeQ8PlW/Meh2KtSQm+x6wCVFOyChAXAJNchJHymmoEl74n+4W+uc4hUmAqyhu3nOoCE13mx6+dEKBZc5xCpIBVkDVvoOoCE1ySz46BPRn+lUaQEmQqyhmkEKU59NvaLRXGGh1znEKkQFWQNU0GKUzFT3O+LsZ/e7zqHSIWoIGuYClKcS0dvX1LPQK/rHCIV0NDQ3Gpch6iUoBek7kGKc1Fj53wjfvVDrnOIVMAkYF/XISol6AWpEaT4wlsifz0mSc9W1zlEKiCwl1mDW5CZpCHA39lIbTGG5IXxyx53nUOkAgL7PhvcgoTZaJMA8ZEzIo+9bB5bNrrOIVJmM1wHqJQgF6Qur4qvGEP9pYlL8q5ziJTZdNcBKkUFKVJFx5mnT15s1na4ziFSRhpB1qDAXheX2mUM8R/FL1rlOodIGWkEWYOmuQ4gUsqhZvXJjeaZ5a5ziJSJRpA1aLLrACKlGEPk8sRFW1znECkTjSBrkApSfGs/s/nEl0ee/IfrHCJloBFkDdKBteJrP4j/QJuYSxBoBFmDNIIUX5tluo95Y+SBR1znEJkgFWQN0ghSfO/b8Sv0jZzUOhVkDdIbj/jeVDOw5N+id+pQZall8Ybm1kC+36ogRRz7auy6OYZi0XUOkQmIug5QCUEuSF1ilZow2ew46JPRX+tQZallgeySQP6iRmgEKTXjs7FfLIozrFmtUqs0gqwxGkFKzYibwn7NsRs1ipRaFciCjLkOUEEaQUpNeVP8D/st2/rqFdZGE66ziOyNYRMN5GAryAWpsyDFNwpQWBeLbng2Hu9ckYhvXxGPD7fF42Z9LFq/LRKZPmjMPAOLb7rx+4NGVz+k9hhIu85QdkEuSN3PkarpM6a3PR5bvzIe71qRiPevjMcLq+KxxKZodEpvJDK7APMwZl9GOWVm4WbbbmBRFWOLlEvBdYBKCHJB9rkOIMFgwW6KRjc9G49tWpGIb18eTwy1xWNmbSw2aWs0Mn3AmLnWmBnAQRN5ncNX2fWoIKU2BXKZUpALstd1AKkNQzC4Kh5b/0w83rk8kehbkYgPd8RisY2x6JTuSGTmMMzHmLnA3ErmWNJhByr59UUqSCPIGqOCFAC6IpEtbfHYxpXe6K//mUSMNbFYYks0muw3Zk4RZmPMIhyP3g5cZzU5R2qVCrLGqCBDYBiG18ZiG56NxzYvTyR6ViTiw+3xWGR9NFa/PRKZPmSYjzEzgZmus+7J7O2VHaGKVEiRgN7SUkGKr/UY090ej69fmYhvXR6P969MxO3qWCy+ORqd1hcxswswF2MWAgtdZ52IWMEOxQu6/yg1qSeVz1nXISpBBSnOFKG4IRrd2BaPb16RiG9fnojvaIvHzLpYrG5rJJIcMGY+xuwDTHOdtdIWbaDdwCGuc4iMw3bXASpFBSkVM2BMf0cstv6ZRLxreTzetzIRH+6Ix+KbotEpPZHIrGFv6cN8YL7rrK4t6bCbUEFKbVJB1iAVZIV1RiKbn43HN61MxLctT8QHn43HWROLTe6KRvbpN2aONWY2sHjkIaNIrbJatyu1SgVZg1SQE7ADdqzxRn+dy+Px3pWJ+I72eCy2IRqr2x6NzNzhLX2YDcx2nTUIGjbYKa4ziIyTCrIGqSBHsS1itrXH4xtWxuPbRnZ+savjsXhnNLpPnzGzi97kl/2B/V1nDYPpvSxwnUFknFSQNSiQ047HogCF9bHoxmfj8U3LE/GeFfH4UFs8Hl0fi05+bt9PjEkCSddZBSYP2Z5osbZn4UqoqSBrUI/rAJXy3L6fz8TjW1ck4n0r4vHiqngstjkandYTicwseJc/F4BGJbXgoLW23cBS1zlExqnbdYBKCXJBbnIdYDxG9v3c3BaPbVyeiHevjHuTX9bGYnVd0cg+A8bMK8e+n+IfSzvsFtcZRCZgs+sAlRLkglzjOkBiKIg7AAAag0lEQVQpQzC42jv1YcuKRLx3RSJR6IjFohtj0fruSGTWDm/pwxxgjuusUh2HryKQi6wlNFa7DlApQS7IdXhbIFX1IM+uSKSrPR7buCIe37o8kRh8NhGzq2OxSVui0Wkj+37O8cO+n+If+2+2gd8IQQJtlesAlRLcgsxs20EmuZEyLkIfhuF1sdj6Z+KxLSu8fT+H2mKx6IZYtG5bJDpjyDAP7/LnjHK9pgTftH72c51BZAI0gqxRa9iLghzZ93PDykSsa3k8MfBMIl5cHYvFNkcj+/RGIrNGDr3dD/SGJuWxT6/tjFhdTpeapoKsUWuA48Cb/OLt+xnbtDyR6F6RiA8+G49F1sVik7dGItMHdi590OUuqZpD19hVwCzXOUTGaWsqnwvsmvNAF+RH5815NDcpcUDPzkNv5wHzXOcSec7SdhvYNWQSCoEdPULAC/L++roe4GjXOUR259A11rjOIDIBgS7Iqs7wdOAZ1wFERrPvFqa7ziAyASrIGqaCFF+rH+QA1xlEJqDDdYBKUkGKODJnq11rtB+u1La86wCVFOiCzKaz24FO1zlESjl8lV3rOoPIBP3TdYBKCnRBjtAoUnxpaYcN7PR4CYUdwNOuQ1RSGAoy0H+AUrsOXmcDPYtcAm9FKp/b4TpEJYWhIB9xHUCklLlbtUGA1LRAX16FcBTkw64DiLxYpGgLk3bQ4DqHyASoIAPgEbxTPUR8Y+FmOgxMdp1DZAJUkLUum872oPuQ4jOpVXaD6wwiE6SCDAhdZhVfWdJhB11nEJmAAvCU6xCVFpaC/LvrACK7WrzBTnKdQWQCsql8LvDf5IWlIDWCFF+ZvZ25rjOITMDfXAeohrAU5KNooo74RGzYDsYKLHKdQ2QC7ncdoBpCUZDZdLaXgO8ZKLVj8QbaDURd5xCZABVkwOgyq/jCkg672XUGkQnYnMrnlrsOUQ1hKkhN1BFfSK2ygd6eSwLvAdcBqiVMBakRpPjCoo223nUGkQkIxeVVCFdBPoa3dkfEqek97Os6g8gEqCCDJpvO9qFRpDhWN2i7o5aFrnOIjFMReNB1iGoJTUGOuM11AAm3g9fadtcZRCbg76l8rsd1iGpRQYpU0dIO2+U6g8gE3O46QDWFrSAfBja5DiHhddgqqw0rpJapIIMqm84WCdkfsPjL/ptJus4gMk7bCMkWc88JVUGO0GVWcWZqP/u5ziAyTn9M5XPDrkNUUxgL8na0L6s4kOyxmyMw23UOkXH6vesA1Ra6gsyms52EaJqy+Mdha+xq1xlEJiB0t6dCV5AjdJlVqm5pu93mOoPIOOVT+VyH6xDVpoIUqZJD19iw/nuT2he6y6sQ3oJ8GNjoOoSEy/wuZrjOIDJOv3UdwIVQFmQ2nbWE8Hq6uFU/qEOSpSZtAO52HcKFUBbkCF1mlaqZ12XXGJjmOofIONySyudCedBDmAvy98CQ6xASDoettmtdZxAZp5tdB3AltAWZTWe7gFbXOSQclrbbXtcZRMZhLfBX1yFcCW1BjrjGdQAJh4PX2YTrDCLj8PNUPhfajVXCXpC3otmsUgVztmkHHalJob28CiEvyGw6Owzc4DqHBFukaAuTdmgGq9ScVcD9rkO4FOqCHPET1wEk2PbbTIeBSa5ziOyl/0vlc9Z1CJdCX5DZdDYLPOI6hwRXqsOud51BZByucx3AtdAX5IhrXAeQ4FraYbWcSGrNQ6l87jHXIVxTQXp+itZESoUs3mB1eVVqzRWuA/iBCpLnj8D6nescEkwzu5nnOoPIXtgO3OQ6hB+oIHe6xnUACZ74sB2IFTjAdQ6RvXBDKp/TxhaoIHd1G96mvCJls3g9bQairnOI7AVdXh2hghyhNZFSCUs7bKfrDCJ74cFUPve46xB+oYJ8oSuBUK/7kfI6fJUddp1BZC/82HUAP1FB7iKbzubQBuZODG8bxg4H73uTRRvtFNcZRMZIk3NeRAX5Uhe4DuBnhb4Cbd9r49nvPEv7Je0Uh4usvmo1K/9nJRt/s+dtbYe3DbPiqysA6Lyzk5VfX0lxsEj3k92YmKl0/KpL9rKv6wwiY3SVJue8kAryRbLp7H2E+HiXPdl6/1Zmv242iz+/mHgyzrYHtkERDjrvIIY2DTG4fnDUz1930zqKQ97hAAMdA8w4dQZ9z/QRSQTvr2L9gN0WtSpIqQnDwEWuQ/hN8N6VyqPFdQC/mvXqWUw9YioAw93DbL1vK8kTkgBMXTqVvuV9u/3cnn/2EJkUIZaMAWCtxRYsPf/oYdqR0yofvsoOWWs7XGcQGaOfpfI5/X19ERVkCdl0thV4wnUOP+tb0Ueht0B8ZpzYDK/wolOjDG8rPSelOFxk0282Mf8d85//2LQjptH9WDfxGXHaL26nJ9dTlezVsrTdbnWdQWSMvus6gB+pIHfvW64D+NVwzzBrr1/Lwg8tJDo5ih3yJtcUB4pYW3qizebWzcx81UyiU3YuCUyemGTum+cSrY8y7ahpbH94e1XyV8tha3bzmyHiL3em8rlHXYfwIxXk7t0MPOs6hN8Uh4usunQV898+n8TsBJMbJj9/WXVg1QCJ2YmSn9fzjx46/9jJMxc8w0DHAGuuXgPA4IZBEnMT3gSdgNXJws3s4zqDyBh803UAv1JB7kY2nS2gyw4v0XVPF/3t/Wz87UaeueAZsLD1vq2su3Ed2x/czrSjpjGwZoANt7xwU6IDv3QgB37Re0w+YDILP7iQQn+BeDLOpH0n0fXnLqYsCdaKiKn97O86QxhsHh5mhwbr43V/Kp+7y3UIvzK7uyQm0LiscTLQDsx1ncXPCr0Fev7RQ/2h9cSnx13H8YUZ3XbTFT8szHGdw0+6CwU+t24tRWupi0Q4ob6eO7u7AdheLHLk5Dq+Pn/+Sz7vpq4ubuve/oLnHTppEr/evo1r9j+AP3R386Zksqq/lgA5J5XP/dZ1CL/SCHIU2XR2ALjYdQ6/i06JkjwhqXLcxWFr7GrXGfzmd9u38/4ZM7ly/wOYHY2xMB5n2QGLWHbAIo6rq+Md00uX3DtnzHjJ8/KDA7wtmeTJgX7qIsFbP1slj6NTjEalgtyzS/F2mBAZsyXtttt1Br9514wZvHyKdxm9q1BgVtSb/bxhxw46CwWOmFw36ufv+jwLDFu4t7ePV06ZWunoQfXlVD6nS4ijUEHuQTad3Qb8yHUOqS2HrLX6t7Ubj/X3s61Y4Kg6rxB/unUr75w+fY+ft+vzTqmfwt09PcyPxfjkmtU80KcNYPbSX1L5nLbV3AP9Ix6b7wBa0yZjtmALM1xn8KOthQLnb9jAN+YvAKBoLQ/29XJCXf2on/fi571hn3345OzZTItGOG3KVP7QrQH7Xmp2HaAWqCDHIJvObgb+x3UOqRHW2rohFrmO4TdD1nLu2jWcO2cOC+Pe/eq/9/dzZF0dxox+H7HU89qHhtg/niBhDMWKJg+c36Tyuftch6gFKsix+wGw3HUI8b/5XawxoBtjL/KLrVvJDQxwRedm0h3t3LZ9O3/t7eX4XUaPKwYHuXjTppd87ouf11MoMDsW4+BJCX62bSsn1wdriVAFFYEvuQ5RK7TMYy80Lms8B/i16xzib6c/XnzoE7cWX+Y6h0gJy1L53Ptdh6gVGkHuhWw6+xvgTtc5xN+Wdtjd79gu4s4g8DXXIWqJCnLv/SdQcB1C/OugdTbmOoNICZen8rl21yFqiQpyL2XT2Sxwpesc4l9ztmnnJfGdTcB/uw5Ra1SQ43MesM11CPGfSNEOJ4Y1g1V85wupfK7LdYhao4Ich2w6uwn4husc4j8HbKTdQOkjTUTcuBdY5jpELVJBjt8lwArXIcRfUqvsRtcZRHZRAD6hLeXGRwU5Ttl0dgj4vOsc4i9LOuyg6wwiu/hBKp97wnWIWqWCnIBsOvsr4E+uc4h/LN5gR99xW6R61qFlHROigpy4TwD9rkOIP8zo5qUHGoq48blUPqeTiCZABTlB2XT2KeDLrnOIe4kdtj9WZH/XOUSAu1L53I2uQ9Q6FWR5XATc7TqEuHXgetqN/k2Je73AR12HCAL9Yy6DbDprgfcDPY6jiENLOuxm1xlE8NY8aoZ9GaggyySbzrbhbUMnIZVaZbUFobj2B+By1yGCQgVZRtl09n+B21znEDcO2Gh1xJW4tA34oNY8lo8Ksvw+DGhLpxDap4+FrjNIqH0mlc+tdh0iSFSQZZZNZ9cCn3KdQ6prSr/dFrVa4iHO/CqVz13rOkTQqCArIJvO/hT4uescUj2HrLU6Rkhc2QT8u+sQQaSCrJyPAxtch5DqWNpudbqLuPKxVD6nPYArQAVZIdl0djPwEdc5pDoOW201MUJcuCyVz/3CdYigUkFWUDad/S1wlescUnkLO0m6ziCh8xBwrusQQaaCrLxP4f1FlgCbMqAt5qSqtgDvSOVzQ66DBJkKssKy6ewA8FZ0PzKwZnbbjRGY6TqHhIYF3pvK5zQxrMJUkFWQTWdXA28DdrjOIuV32Gq7ynUGCZULUvncra5DhIEKskqy6ey9wGdc55DyW9putQevVMtdwFddhwgLFWQVZdPZHwE/dp1DyuuQtTbqOoOEwjrgXal8Tnv+VokKsvo+DdzrOoSUz7wu3X+UihvEm5SjuQxVpIKssmw6OwS8HVjjOouUgbW2bohFrmNI4H0olc/pG+sqU0E6kE1n1wNvwfuuUGrYgi2sMjDFdQ4JtEwqn7vBdYgwUkE6kk1nHwI+5jqHTExqlV3vOoME2vWpfO7rrkOElQrSoWw6ew1wiescMn5LOmy/6wwSWH8BPuQ6RJipIN37HHCH6xAyPgets3HXGSSQVgBv0U45bqkgHcums8N4O+084DqL7L3Z25njOoMEzhbgjal8rtN1kLBTQfpANp3tBd4I/NN1Fhm7aMHuSAzT4DqHBEo/3shxuesgooL0jWw6uwV4LaD9FWvEoo20G9AlVimXIeBtqXzuHtdBxKOC9JFsOrsGOBPQ4ac1ILXKbnKdQQKjgLdLzm2ug8hOKkifyaazy4HXAzqh3udSHVYTKKQcLPB+HXzsPypIH8qms48CrwO6XWeR3WvYaOtcZ5BA+Hgqn7vedQh5KRWkT2XT2QfwJu70us4ipc3sZp7rDFLzPpfK565wHUJKU0H6WDad/StwNt7MNvGRxA7bFy1ygOscUtMyqXzu+65DyO6pIH0um87eBbwJ7dvqKwevo82AcZ1Datb52kLO/1SQNSCbzv4BbzOBAddZxLOkw25xnUFq1hdS+dxXXIeQPVNB1ohsOnsr3hKQLtdZBA5fZXVoreytIvDvqXzuO66DyNioIGvIyD3JVwCrXGcJu/032amuM0hNGQbencrnfuw6iIydCnKMjDFHGWNe4TpHNp39J/By4B+us4RZso/9XGeQmjGAt33cTa6DyN5RQY5dD/CNUj9hjPmCMeb1L/pY1BhzXyWCZNPZ1XgjSW1J5cDUPtsVsVriIWPSDbwhlc/9znUQ2XsqyFEYYz5qjPmrMebPwFVAnTHmzyOPvxljzhl5qmVklqkx5i4Aa22BCi7PyKazW/E2E9DuG1V26FqrS9wyFp3Aq1P53J9dB5HxibkO4HPTgcuttTfs4Xl25AEvXNhvSzy3bLLp7EDjssZ34B26/MlKvpbstKTdbnWdQXxvBd6RVTqVo4ZpBDm6AhAd7QnGmOcunZz13IjSGPPfxphplQ4HkE1ni9l09lOApo1XyWFrKvp9j9S+vwAnqRxrnwpydFFGGQUaY6LAZLwF4w8C7xj5qYeBj1Y83S6y6ez5wAfxZstJBS3sZLrrDOJbNwCv0WHHwaCCHN0sRj9VowF4BJiHd9hx68jHW4E1FU1WQjad/Qnerjvav7WCpgxoizl5CQt8JZXPvSeVz+mUl4BQQY7uBCC/u5+01q601n4BWAI8Za29aeTjhef+u9pGNhQ4CXjKxesH3axtdr1BI0h5gV7gral87nzXQaS8VJC7YYw5EUhaa5/ew/MOBbZYa3c896GKh9uDbDr7JHA8oHVXZXbYGlv1KwPia+3AKal87leug0j5qSB3zwDnjuF5FwK7fue4Dp6/P1lfgVxjkk1ne7Lp7LvwZrfqkk+ZLG23Pa4ziG/cBhyXyucedx1EKsNYqxl5E2GMqbfW9rnOMZrGZY0vA36Gd89UJuDbVw3f27CRU1znEKeGgfOAb6XyOb2BBphGkBPk93IEyKazDwHHAtrNY4LmdTHTdQZxag1wRiqfa1E5Bp8KMiSy6WwXcA7QjLe+U/aSsbY4eQeLXOcQZ24Hjknlc391HUSqQwUZItl01mbT2W8Br2LkXqmM3b6drDYO7yuLMwW8jTjekMrnNrkOI9WjggyhbDp7D3AM8CfXWWrJ4ausvqkIn9V4+6meX6lLqsaYVxpjnM9+l5dSQYZUNp3dgHcA83loluuYLO2wA64zSFX9BDgilc/dXeHXaQCuM8b8wRhz54sea4wxhxhjXmOMuQDAGPMDY8zi5z7ZGPNHY4z21a4A/aaGWDadLQLfaFzWeAtwJd45k7IbB663CdcZpCrWAh9J5XO3VuPFrLXXjRyN90PgQ8CJwAN438AehjdrdoCRE4OAqQDGmD/gnegzYK3VFpMVoBGkkE1nc3jnS34K7/w6KWH2Nua6ziAVdy2wtFrlaIw52xjzXaAD+HfgGrxtKzvxCvJpvEJ8J3CyMeZsvCs+BWDQWlukwqcGhZkKUoDnJ/BcCixl556yMiJWsEPxgvZgDbB1wDmpfC6dyueqdpyZtfa3wEPAKXgjx/8AZgMXAB8G+vDug96LV5aPAglgR6mvJ+WlS6zyAtl0dhVwVuOyxncBFwNzHEfyhUUbaTdwiOscUhE3AJ9J5XNbXLy4tfbmkUk6X8crxVnAXCCF9x69FVgFdFprVxtj5gHa0akKNIKUkrLp7I14/0CvdZ3FD5a0W03vD548cObICRxOyhHAGDMJuNZa+1Xgy8AkvAL8tbX2TGvtHSNPjRtjZgNTrLW6FVIFKkjZrWw625lNZ9PA64E2x3GcSq2yuqQVHD3AF4AjU/ncna7DAO8F7jPGTAa+jTez/FbgnSMzWN+GN7o8GjgV7/4k6P274vQbLHuUTWdvB44ALiKku/As2mjrXGeQsvgpcFgqn/tOKp9z/k2PMSYOfAb4DXAL8AO8e47DwEeAm4FngTdba5uAs4CrRz69beRQhKgxRu/lFaDfVBmTbDrbm01nzwUagV+6zlNtM3pY4DqDTEgWOC2Vz707lc+tdR1mFw14xdgJfM9a+0sgDtRZa5fjzWR9zFrbPbLW8VfW2t8BWGs/Ya0t4K3XlArQaR4yLo3LGk8CWoDTXGeptMlDtmfZ9wpTjA/O+pS91gVkgEtT+Vwor37I+KkgZUIalzW+AW9K+lGus1TK0rbiP752Y3Gp6xyyV3rwbgl8N5XPbXMdRmqTLrHKhGTT2dvw9nV9D969ksBZ2mG7XGeQMRvEK8YDU/nceSpHmQgVpEzYyCYDNwCH4004CNSSiMNXh3NiUo0Zxtsu8ZBUPneuTt2QctAlVim7xmWNU4HPjTymOY4zYT++ePiR6X0c6zqHlGSBnwFfTeVzT7sOI8GigpSKaVzWOAf4PN509emO44zbTS3DGyNW+7D6zA7gRuA7qXzuSddhJJhUkFJxjcsapwBpvMuvhzmOs1em9dktV11cmOk6hzxvO3AFcHEqn1vjOowEmwpSqqZxWaMB3oC3IfOZjuOMyfFPFx//wi3FwM7QrSGr8Sbf/G8qn9vuOoyEgwpSnGhc1rgE+CzeNlu+3aXmfXcW7jnrIXuq6xwh9gTwXeAmP+x8I+GighSnGpc1zgQ+CnwS2M9xnJc4f9nwXw5Zyytd5wiZfrzdZa5M5XN3uw4j4aWCFF9oXNYYA96ON6o8yXGc51194XB26gCNrnOExGN4SzVuqOaZjCK7o4IU3xm5/Pou4F9xfAbjzRcMbzOQdJkh4LrxNhC/MpXPPew6jMiuVJDia43LGo8D3olXlvtX87XnbLXrLr28oE3Ky28YuAtvmcbPUvlcr+M8IiWpIKUmjMyAfTneyPLtwLxKv+Yrniw+/JnfFo+v9OuExDDwR+DnwC9T+VznHp4v4pwKUmpO47LGKHAG3sjyrcCMSrzOv99auPvVj9vAn1ZSQTuAO4H/A36dyue2OM4jsldUkFLTGpc1JoDXAW8CXgUsLtfX/s6Vw/cu2sQp5fp6IbEVb6T4O7xS1EbvUrNUkBIojcsaF+EV5avwRpkLx/u1rv3ucG7yDlLlyhZQBeDvwB3A74G/6dxFCQoVpARa47LGQ9lZmKcDc8byecba4k0thSEDkysYr1bl8C6d/hG4W0syJKhUkBIaIxN9jmBnYZ7GbpZw7LfJtn3/ykJD9dL51mbgIeAB4EHgQU2wkbBQQUpojRTmwcDRL3rse+YjxQc+cnvxRJf5HOjHW6z/ICOFmMrnVrqNJOKOClLkRRqXNc5+z58KS855wB4NLNnlMcttsrLZBOR3eeRGfmxP5XNFl8FE/EQFKTJGucNTM4EDRnksACLOAnoKwEZg7Yseq4CngLyWW4iMjQpSpExyh6dieLNmZ+EdEJ0c+XF6if+vxyvT0R4G6AN69vDoZGcRbtAsUpHyUEGKiIiU4PpykIiIiC+pIEVEREpQQYqIiJSgghQRESlBBSkiIlKCClJERKQEFaSIiEgJKkgREZESVJAiIiIlqCBFRERKUEGKiIiUoIIUEREpQQUpIiJSggpSRESkBBWkiIhICSpIERGRElSQIiIiJaggRURESlBBioiIlKCCFBERKUEFKSIiUoIKUkREpAQVpIiISAkqSBERkRJUkCIiIiWoIEVEREpQQYqIiJSgghQRESlBBSkiIlKCClJERKQEFaSIiEgJKkgREZESVJAiIiIlqCBFRERKUEGKiIiUoIIUEREpQQUpIiJSggpSRESkBBWkiIhICSpIERGRElSQIiIiJaggRURESlBBioiIlKCCFBERKUEFKSIiUoIKUkREpAQVpIiISAkqSBERkRJUkCIiIiWoIEVEREpQQYqIiJSgghQRESlBBSkiIlLC/weh6FdpKwv0oQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(headcount_by_cities.values, labels=headcount_by_cities.index, autopct='%1.1f%%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >city</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col0\" class=\"data row0 col0\" >北京</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col1\" class=\"data row0 col1\" >17638</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col2\" class=\"data row0 col2\" >3750</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col3\" class=\"data row0 col3\" >15000</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col4\" class=\"data row0 col4\" >45000</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col5\" class=\"data row0 col5\" >21211</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow0_col6\" class=\"data row0 col6\" >19.17%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col0\" class=\"data row1 col0\" >上海</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col1\" class=\"data row1 col1\" >16631</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col4\" class=\"data row1 col4\" >37500</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col5\" class=\"data row1 col5\" >36182</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow1_col6\" class=\"data row1 col6\" >32.71%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col0\" class=\"data row2 col0\" >深圳</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col1\" class=\"data row2 col1\" >16354</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col2\" class=\"data row2 col2\" >5500</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col5\" class=\"data row2 col5\" >30665</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow2_col6\" class=\"data row2 col6\" >27.72%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col0\" class=\"data row3 col0\" >广州</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col1\" class=\"data row3 col1\" >13523</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col2\" class=\"data row3 col2\" >3750</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col4\" class=\"data row3 col4\" >33423</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col5\" class=\"data row3 col5\" >22563</td> \n",
       "        <td id=\"T_5ac7a9f6_b594_11e9_8e58_701ce71031efrow3_col6\" class=\"data row3 col6\" >20.40%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x259507b7d68>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_col(data,'city')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_beijing=data[data.city=='北京'].monthly_salary\n",
    "salary_shanghai=data[data.city=='上海'].monthly_salary\n",
    "salary_guangzhou=data[data.city=='广州'].monthly_salary\n",
    "salary_shenzhen=data[data.city=='深圳'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=55.94487891616511, pvalue=7.800810643951674e-14)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_beijing, salary_shanghai)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=60.048290754922576, pvalue=9.652840226186673e-15)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shanghai, salary_shenzhen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=496.04194817060295, pvalue=1.9806675312556773e-108)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shenzhen, salary_guangzhou)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 编程语言"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5af0367a_b594_11e9_a600_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >rank</th> \n",
       "        <th class=\"col_heading level0 col1\" >pl_</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col5\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col6\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col7\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col0\" class=\"data row0 col0\" >1</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col1\" class=\"data row0 col1\" >haskell</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col2\" class=\"data row0 col2\" >27578</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col3\" class=\"data row0 col3\" >26250</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col4\" class=\"data row0 col4\" >7500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col5\" class=\"data row0 col5\" >45000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col6\" class=\"data row0 col6\" >32</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow0_col7\" class=\"data row0 col7\" >0.02%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col0\" class=\"data row1 col0\" >2</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col1\" class=\"data row1 col1\" >rust</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col2\" class=\"data row1 col2\" >26030</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col4\" class=\"data row1 col4\" >8500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col5\" class=\"data row1 col5\" >60000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col6\" class=\"data row1 col6\" >140</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow1_col7\" class=\"data row1 col7\" >0.09%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col0\" class=\"data row2 col0\" >3</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col1\" class=\"data row2 col1\" >python</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col2\" class=\"data row2 col2\" >20748</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col3\" class=\"data row2 col3\" >18000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col4\" class=\"data row2 col4\" >5000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col5\" class=\"data row2 col5\" >45000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col6\" class=\"data row2 col6\" >13901</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow2_col7\" class=\"data row2 col7\" >8.95%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col0\" class=\"data row3 col0\" >4</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col1\" class=\"data row3 col1\" >go</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col2\" class=\"data row3 col2\" >20254</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col3\" class=\"data row3 col3\" >17500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col4\" class=\"data row3 col4\" >6500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col5\" class=\"data row3 col5\" >45000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col6\" class=\"data row3 col6\" >13499</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow3_col7\" class=\"data row3 col7\" >8.69%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col0\" class=\"data row4 col0\" >5</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col1\" class=\"data row4 col1\" >matlab</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col2\" class=\"data row4 col2\" >20058</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col3\" class=\"data row4 col3\" >18750</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col4\" class=\"data row4 col4\" >5833</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col5\" class=\"data row4 col5\" >40000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col6\" class=\"data row4 col6\" >2300</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow4_col7\" class=\"data row4 col7\" >1.48%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col0\" class=\"data row5 col0\" >6</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col1\" class=\"data row5 col1\" >lua</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col2\" class=\"data row5 col2\" >19039</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col3\" class=\"data row5 col3\" >17500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col4\" class=\"data row5 col4\" >4148</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col5\" class=\"data row5 col5\" >45000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col6\" class=\"data row5 col6\" >1422</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow5_col7\" class=\"data row5 col7\" >0.92%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col0\" class=\"data row6 col0\" >7</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col1\" class=\"data row6 col1\" >kotlin</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col2\" class=\"data row6 col2\" >18784</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col3\" class=\"data row6 col3\" >17500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col4\" class=\"data row6 col4\" >7000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col5\" class=\"data row6 col5\" >60000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col6\" class=\"data row6 col6\" >465</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow6_col7\" class=\"data row6 col7\" >0.30%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col0\" class=\"data row7 col0\" >8</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col1\" class=\"data row7 col1\" >perl</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col2\" class=\"data row7 col2\" >18423</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col3\" class=\"data row7 col3\" >16500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col4\" class=\"data row7 col4\" >6500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col5\" class=\"data row7 col5\" >45000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col6\" class=\"data row7 col6\" >1354</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow7_col7\" class=\"data row7 col7\" >0.87%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col0\" class=\"data row8 col0\" >9</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col1\" class=\"data row8 col1\" >cpp</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col2\" class=\"data row8 col2\" >18167</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col3\" class=\"data row8 col3\" >16000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col4\" class=\"data row8 col4\" >5000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col5\" class=\"data row8 col5\" >40000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col6\" class=\"data row8 col6\" >25676</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow8_col7\" class=\"data row8 col7\" >16.53%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col0\" class=\"data row9 col0\" >10</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col1\" class=\"data row9 col1\" >ruby</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col2\" class=\"data row9 col2\" >18016</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col3\" class=\"data row9 col3\" >17500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col4\" class=\"data row9 col4\" >7000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col5\" class=\"data row9 col5\" >35000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col6\" class=\"data row9 col6\" >481</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow9_col7\" class=\"data row9 col7\" >0.31%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col0\" class=\"data row10 col0\" >11</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col1\" class=\"data row10 col1\" >swift</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col2\" class=\"data row10 col2\" >16634</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col3\" class=\"data row10 col3\" >14000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col4\" class=\"data row10 col4\" >5250</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col5\" class=\"data row10 col5\" >37500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col6\" class=\"data row10 col6\" >1381</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow10_col7\" class=\"data row10 col7\" >0.89%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col0\" class=\"data row11 col0\" >12</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col1\" class=\"data row11 col1\" >java</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col2\" class=\"data row11 col2\" >16008</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col3\" class=\"data row11 col3\" >14000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col4\" class=\"data row11 col4\" >5000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col5\" class=\"data row11 col5\" >37500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col6\" class=\"data row11 col6\" >50193</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow11_col7\" class=\"data row11 col7\" >32.31%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col0\" class=\"data row12 col0\" >13</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col1\" class=\"data row12 col1\" >objective_c</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col2\" class=\"data row12 col2\" >15630</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col3\" class=\"data row12 col3\" >15000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col4\" class=\"data row12 col4\" >9000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col5\" class=\"data row12 col5\" >32562</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col6\" class=\"data row12 col6\" >179</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow12_col7\" class=\"data row12 col7\" >0.12%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col0\" class=\"data row13 col0\" >14</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col1\" class=\"data row13 col1\" >typescript</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col2\" class=\"data row13 col2\" >15580</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col3\" class=\"data row13 col3\" >15000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col4\" class=\"data row13 col4\" >6572</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col5\" class=\"data row13 col5\" >30000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col6\" class=\"data row13 col6\" >509</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow13_col7\" class=\"data row13 col7\" >0.33%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col0\" class=\"data row14 col0\" >15</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col1\" class=\"data row14 col1\" >php</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col2\" class=\"data row14 col2\" >15182</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col3\" class=\"data row14 col3\" >12500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col4\" class=\"data row14 col4\" >4000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col5\" class=\"data row14 col5\" >37500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col6\" class=\"data row14 col6\" >7309</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow14_col7\" class=\"data row14 col7\" >4.70%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col0\" class=\"data row15 col0\" >16</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col1\" class=\"data row15 col1\" >delphi</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col2\" class=\"data row15 col2\" >13722</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col3\" class=\"data row15 col3\" >12500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col4\" class=\"data row15 col4\" >4957</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col5\" class=\"data row15 col5\" >26893</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col6\" class=\"data row15 col6\" >374</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow15_col7\" class=\"data row15 col7\" >0.24%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col0\" class=\"data row16 col0\" >17</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col1\" class=\"data row16 col1\" >javascript</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col2\" class=\"data row16 col2\" >13491</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col3\" class=\"data row16 col3\" >12500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col4\" class=\"data row16 col4\" >4000</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col5\" class=\"data row16 col5\" >27500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col6\" class=\"data row16 col6\" >18920</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow16_col7\" class=\"data row16 col7\" >12.18%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col0\" class=\"data row17 col0\" >18</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col1\" class=\"data row17 col1\" >visual_basic</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col2\" class=\"data row17 col2\" >13222</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col3\" class=\"data row17 col3\" >12500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col4\" class=\"data row17 col4\" >6250</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col5\" class=\"data row17 col5\" >22500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col6\" class=\"data row17 col6\" >15</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow17_col7\" class=\"data row17 col7\" >0.01%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col0\" class=\"data row18 col0\" >19</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col1\" class=\"data row18 col1\" >c_sharp</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col2\" class=\"data row18 col2\" >12969</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col3\" class=\"data row18 col3\" >12500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col4\" class=\"data row18 col4\" >3750</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col5\" class=\"data row18 col5\" >27500</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col6\" class=\"data row18 col6\" >17005</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow18_col7\" class=\"data row18 col7\" >10.95%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col0\" class=\"data row19 col0\" >20</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col1\" class=\"data row19 col1\" >vba</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col2\" class=\"data row19 col2\" >11820</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col3\" class=\"data row19 col3\" >11083</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col4\" class=\"data row19 col4\" >3750</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col5\" class=\"data row19 col5\" >22350</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col6\" class=\"data row19 col6\" >212</td> \n",
       "        <td id=\"T_5af0367a_b594_11e9_a600_701ce71031efrow19_col7\" class=\"data row19 col7\" >0.14%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25950911a20>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_prefix(data,'pl_')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据显示，haskell才是最赚钱的编程语言。python是主流语言里面最赚钱的，比java的工资多了3000元！vb是最不赚钱的了。其中，最赚钱的编程语言和最不赚钱的，工资居然差了2倍。所以，要选好编程语言呀！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 教育"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "edu_counts=data[~(data.edu=='')].groupby(by=['edu']).headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "edu\n",
       "初中及以下       11\n",
       "博士         190\n",
       "大专       28521\n",
       "本科       61886\n",
       "硕士        3177\n",
       "高中         198\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "edu_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.patches.Wedge at 0x259508467f0>,\n",
       "  <matplotlib.patches.Wedge at 0x25950846f60>,\n",
       "  <matplotlib.patches.Wedge at 0x2595084f6a0>,\n",
       "  <matplotlib.patches.Wedge at 0x2595084fda0>,\n",
       "  <matplotlib.patches.Wedge at 0x259508594e0>,\n",
       "  <matplotlib.patches.Wedge at 0x25950859be0>],\n",
       " [Text(1.0999999256383202, 0.00040446964095588734, '初中及以下'),\n",
       "  Text(1.099972379361427, 0.007795167859677323, '博士'),\n",
       "  Text(0.6247152494981386, 0.9053898922809326, '大专'),\n",
       "  Text(-0.7282263790623942, -0.8244309193848047, '本科'),\n",
       "  Text(1.0921636340642316, -0.13106714472975942, '硕士'),\n",
       "  Text(1.099975905696498, -0.007280582886643015, '高中')],\n",
       " [Text(0.5999999594390836, 0.0002206198041577567, '0.0%'),\n",
       "  Text(0.599984934197142, 0.0042519097416421755, '0.2%'),\n",
       "  Text(0.3407537724535301, 0.4938490321532359, '30.3%'),\n",
       "  Text(-0.3972143885794877, -0.44968959239171163, '65.8%'),\n",
       "  Text(0.5957256185804899, -0.07149116985259604, '3.4%'),\n",
       "  Text(0.5999868576526352, -0.003971227029078007, '0.2%')])"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdwAAAHICAYAAADk5Ft4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xd4XNWB/vHvmVGxZMlVsjHYGFfmGg8utECAEEIoCQRCX1Kctr+QkLJJyKaRZEOSTVlSNwU2CRslENIICSULIfTei4A7BowruDd1yZo5vz/uyBa2bEvWzD0z976f59EzmtGUV0bMO+eWc4y1FhERESmuhOsAIiIicaDCFRERCYEKV0REJAQqXBERkRCocEVEREKgwhUREQmBCldERCQEKlwREZEQqHBFRERCoMIVEREJgQpXREQkBCpcERGREKhwRUREQqDCFRERCYEKV0REJAQqXBERkRCocEVEREKgwhUREQmBCldERCQEKlwREZEQqHBFRERCoMIVEREJgQpXREQkBCpcERGREKhwRUREQqDCFRERCYEKV0REJAQqXBERkRCocEVEREKgwhUREQmBCldERCQEKlwREZEQqHBFRERCoMIVEREJgQpXREQkBCpcERGREKhwRUREQqDCFRERCYEKV0REJAQqXBERkRCocEVEREKgwhUREQmBCldERCQEKlwREZEQqHBFRERCoMIVEREJgQpXREQkBCpcERGREKhwRUREQqDCFRERCYEKV0REJAQqXBERkRBUuA4gElfppvQIoCZ/Nbe7r+ZFzVk3CUWkkIy11nUGkbKWbkrXAlOAyfnLKUADMAqo3+mr/21D+cCbA1qBzfmvTf2+3/n6GmAlsKp5UXPv8H47ESkUFa7IXqSb0tVACjgEmMau5TrWXbo9ygGvASuAZcCS/NfLwJLmRc1r3EUTiR8VrkheuimdBGYCc3f6mkk0d7+0AM8CTwNP5S+fa17U3OM0lUhEqXAlltJNaQPMAY4FjgbmEYxiR7jMVQK2AT47Cvgp4OnmRc1bnaYSiQAVrsRCuildBRxBULDHAscA45yGKh85oBm4C7gbuKd5UfMWp4lEypAKVyIp3ZSuAU4Ajico2MPR6LVQcsAz7CjgezUCFtk7Fa5ERropfQBwev7rLew45UaKK0uw+flO4EbgweZFzTm3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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(edu_counts.values, labels=edu_counts.index, autopct='%1.1f%%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >edu</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col0\" class=\"data row0 col0\" >博士</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col1\" class=\"data row0 col1\" >29743</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col2\" class=\"data row0 col2\" >13250</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col3\" class=\"data row0 col3\" >29000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col4\" class=\"data row0 col4\" >55000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col5\" class=\"data row0 col5\" >190</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.20%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col0\" class=\"data row1 col0\" >硕士</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col1\" class=\"data row1 col1\" >22212</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col2\" class=\"data row1 col2\" >4296</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col3\" class=\"data row1 col3\" >22500</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col5\" class=\"data row1 col5\" >3177</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow1_col6\" class=\"data row1 col6\" >3.38%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col0\" class=\"data row2 col0\" >本科</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col1\" class=\"data row2 col1\" >17259</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col5\" class=\"data row2 col5\" >61886</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow2_col6\" class=\"data row2 col6\" >65.85%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col0\" class=\"data row3 col0\" >初中及以下</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col1\" class=\"data row3 col1\" >15182</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col2\" class=\"data row3 col2\" >10000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col5\" class=\"data row3 col5\" >11</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.01%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col0\" class=\"data row4 col0\" >大专</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col1\" class=\"data row4 col1\" >12936</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col2\" class=\"data row4 col2\" >3991</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col4\" class=\"data row4 col4\" >28827</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col5\" class=\"data row4 col5\" >28521</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow4_col6\" class=\"data row4 col6\" >30.35%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col0\" class=\"data row5 col0\" >高中</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col1\" class=\"data row5 col1\" >8779</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col2\" class=\"data row5 col2\" >2500</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col3\" class=\"data row5 col3\" >7000</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col4\" class=\"data row5 col4\" >42750</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col5\" class=\"data row5 col5\" >198</td> \n",
       "        <td id=\"T_5b26a02e_b594_11e9_a0ea_701ce71031efrow5_col6\" class=\"data row5 col6\" >0.21%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25950863358>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_edu=get_sub_stats_by_col(data[data.edu.isin(['初中及以下','高中','大专','本科','硕士','博士'])], 'edu')\n",
    "apply_style(data_edu)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_associate=data[data.edu=='大专'].monthly_salary\n",
    "salary_bachelor=data[data.edu=='本科'].monthly_salary\n",
    "salary_master=data[data.edu=='硕士'].monthly_salary\n",
    "salary_phd=data[data.edu=='博士'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "大专，本科，硕士，博士的平均工资分别是13394，17444，22576，31661。中位数分别是12500， 15000，22500， 30000。\n"
     ]
    }
   ],
   "source": [
    "print('大专，本科，硕士，博士的平均工资分别是{:.0f}，{:.0f}，{:.0f}，{:.0f}。中位数分别是{:.0f}， {:.0f}，{:.0f}， {:.0f}。'.format(\n",
    "    salary_associate.mean(),salary_bachelor.mean(),salary_master.mean(),salary_phd.mean(),\n",
    "    salary_associate.median(),salary_bachelor.median(),salary_master.median(),salary_phd.median()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=46.38986196167798, pvalue=1.549471437046093e-11)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_phd, salary_master)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=375.4828846528517, pvalue=6.060510555302293e-83)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_master, salary_bachelor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=1710.092290649731, pvalue=0.0)"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_bachelor, salary_associate)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过Oneway Anova Test，证明从大专到博士，学历每提高一级，工资都有显著的提高。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEHCAYAAABFroqmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xt4VNW9//H3NxCUi0ctWLSkGhWsRcpRjCIgY0CDhosUBG8cCdqL9lBSDv5aQYlSQfG01YdGT62oR3KsYrFHilgixAqithThiGhBDa2x4oNCUBEwYmLW74+5dGb2zGSSzGQm5PN6nnkye83aa333nsl895p9M+ccIiIi4XIyHYCIiGQfJQcREfFQchAREQ8lBxER8VByEBERDyUHERHxUHIQEREPJQcREfFQchAREY/OmQ6gpXr16uXy8/MzHYaISLuyefPmWufccU3Va7fJIT8/n02bNmU6DBGRdsXM3k2mnn5WEhERDyUHERHxUHIQERGPdrvPob0rLy9nx44dzZ5v586dAOTl5TV73r59+1JaWtrs+USk41FyyJAdO3bw6uvbaOz2lWbNl/PZPgA+PNS8ty7ns4+aVV9EOjYlhwxq7PYVPu8/tlnzHLntGYAWzycikgztcxAREQ8lBxER8VByEBERDyUHERHxUHIQEREPJQcREfFQchAREQ8lBxER8eiQyaG8vJzy8vJMhyEJ6D0SyawOeYZ0S65pJG1L75FIZnXIkYOIiCSm5CAiIh5KDiIi4qHkICIiHkoOIiLikRXJwcyONLOsiEVERNogOZjZv5nZmCaq3QUUpjsWaX+WL1+Oz+eLeISXjx8/Hp/Px3XXXQfgqVdbW8uMGTOorq5mxowZ7N27F4BFixbh8/m47777Qn3V1tZSUlJCYWEhmzdvjtleuGDbwTbHjRsXiilRvSuuuAKfz8fVV1+d1DqInj+W66+/Hp/Px/Tp05Oq35TnnnsOn8/H2rVrW9xGS+MIny9RG6lYTomvLbbWTwSOji4MJI0XzGwdUALMM7N1ZvaimV3ZBnFJO7Bo0aKE5R9//DEQ/7yIiooKtm7dyvz589m6dSsVFRUAPPXUUwAsW7Ysou4777xDY2MjZWVlTcYWbDvY5r59+yJiildv165dwD/vB97cfmLZvn07AK+//npS9Zty5513AjB//vwWt9HSOMLnS9RGKpZT4kt5cjCzTmbWLayoE7A/8FqOmfUws87AUvyjhSuBdc45n3OuELgAeDLVcUn7s2fPHpxznnKfzxe3PHq6srIS5xw1NTU456isrGThwoUR9e677z5qa2t55pl/3kr1wIEDMdsLqq2tDbVdWVnJmDGRg+Pg6CG63qRJkyLqNTV6iJ4/1lby9ddfHzG9YsWKhPWb8txzz9HQ0ABAQ0NDi0YPycTd1HyrVq1i1apVMdtoafuSvHScIZ0PPGZmDYHpk4GDZnZTYPoIYCVwCfAF0BvoHBhBBHUxs58651anIT527txJXV0dpaWl6Wg+KdXV1dgX3i+4dLHPP6W6en9Gl7k5qqurOXjwYKvbiU4ijY2NVFZWRpQtW7aMQ4cO8eWXXybdbkVFRajtxsZG9u/fH/F6cPQQXW/37t0R9ZoaPUTPX1FRwaxZsyLqBEcN0eLVb0pw1BA0f/58RowY0aw2kom7qfnq6+tD5dFttLR9SV7KRw7Oub85585zzp3vnDsfeBN4OTjtnDvHOXe7c24oMBL4CBjunCsMewyNlRjM7PtmtsnMNu3ZsyfVocthKPwLJtZ0UFVVVbParaqqCrUVr83m1Et2/jVr1iQ9b3PrBwVHDfGmk9HSuMPnc85FJIrwNlqzXiQ5ab22kpn1Bw4CXzGzbzjn3oqqchSQCzxhZgA9gdOA051z70S355xbDCwGKCgoaPFmd15eHkBGL+xWWlrK5r990Gb9uSP/hX6nHt9uLmZXWlrKli1bWt1Obm5uxJdy9HRQUVERK1asSLrdoqIiVq1aRX19fdw2m1Mv2X5GjRqV9LzNrR/UuXPniITQuXPzvyZaGnf4fIHvBJxznjZas14kOWnbIW1mRwD/BZQBPwEWR+2LwDm3D7gK/wjiYmAPUBwrMUjH06dPn1a3EfyCCcrJyaG4uDii7PLLL6ekpIROnTol3W5JSUmo7ZycHI466qiI14899tiY9b761a9G1AtuqCTbT0lJiafON7/5zZjzxqvflJtvvjliOpmd89GSibup+XJzc0OJKbqNlrYvyUtLcjCz04HVQIVz7rXAiOFXQJWZ9YuqPgV4FVgLLHfOPZ+OmKT9Oe644zxf7gDr16+PWx49XVxcjJmRn5+PmVFcXMycOXMi6v3whz+kV69ejB07NlTWo0ePmO0F9erVK9R2cXExf/jDHyLqBkch0fV+97vfRdR7/PHHE60Cz/w9e/b01HnggQcipsePH5+wflMuuuii0Jdy586dm72/Idm4m5pv9OjRjB49OmYbLW1fkpeOo5Wm4E8MdznnlgTLnXO/BX4G/NHMTgorvx0YjH+UcbmZfSvVMUn7NXPmzITlwS30vn37xqxXUlLCwIEDKSsrY+DAgaEtzIkTJwL+UUN43ZNPPpmcnJykDuEMth1s8+ijj46IKV69E044AWh61BBv/liCo4dvfetbSdVvSnD00JJRQ1BL4wifL1EbqVhOic9iHRLYqgbNcoGuzrlP47ze3TnX6sNQCgoK3KZNm1o0b/CInWzY5/B5/7FNVw5z5Db/4ZYtme/sdrbPATL7Hokcjsxss3OuoKl6Kd8h7ZyrB+LudUtFYhARkfTS9YxERMRDyUFERDyUHERExEPJQUREPNJ6hnS2infYo2QPvUcimdUhk0N7ufhcR6b3SCSz9LOSiIh4KDmIiIiHkoOIiHgoOYiIiIeSg4iIeCg5iIiIh5KDiIh4dMjzHLJFzmcfhS7Bnfw8ewFaMN9HwPHNmkdEOi4lhwxp6RnAO3f67+2bl9fcL/rjddaxiCRNySFDdAawiGQz7XMQEREPJQcREfFQchAREQ8lBxER8VByEBERDyUHERHxUHIQEREPJQcREfHQSXDtTHl5OTt27Giy3s6dOwHIy8tLd0iA/4xvndgncvhQcmhnduzYwdtv/B8n9vgyYb2D+zsB8HnDrrTH9I8DndLeh4i0LSWHdujEHl8yt+BAwjoLNvUAaLJeKgT7EpHDh/Y5iIiIh5KDiIh4KDmIiIiHkoOIiHgoOYiIiIeSg4iIeCg5iIiIh5KDiIh4dLjkUF5eTnl5eabDkHZCnxfpqDrcGdLJXJdIJEifF+moOtzIQUREmqbkICIiHkoOIiLioeQgIiIeSg4iIuKh5CAiIh5pTw5mNsPMvhtV1sXMCszs383sD2Z2vpkdEXjt52Z2YbrjEmmOt99+m+LiYv+d+ALPH3vsMXw+H2vXrgXA5/OFHuEeffRRfD4fN998c0Sd4OPBBx+ksLCQFStWMGLECHw+Hz//+c+54oor8Pl8XH311RHt1dbWMmPGDKqrq5kxYwZ79+6NaG/8+PH4fD4mTJjgmee2227D5/Mxf/780LzB1/bu3RuqH29ZouMoKirC5/Nx3XXXeV5fvnw5Pp+Pp59+GiBmXPHaDcYT3Ua4YN+jRo1K2F6iNpKtW1tbyw033MANN9wQsZ4yYfbs2fh8PubOnZvWftKSHMws/PyJeqAh6rVuwGTgKmCOc+4l4BdmNgH4MvAQyRoLFizg4MGD3H777aHnDzzwAADz589POO+DDz4IwEsvvRTz9UcffZTGxkbuuecevvzS/9FfuXIlu3b5b/EavB94UEVFBVu3bmX+/Pls3bqVioqKiNc//vhjgIgvseA8wURWVVUVmjf4WnQ7TamoqODQoUNA7PNBFi1aBMDdd98dN6547QbjiW4jXLDvzz//PGF7idpItm5FRQXbtm1j27ZtzV5PqfanP/0JgPXr16e1n5QnBzP7CvBHM3vOzF4C7gceMbN1ZvYc8EegO3AL8BbwqZl1AuYAM4GuqY5JpDU+++wzampqAKipqQk9D2poaPBsYQenH3300aT7cc7FfS04eqitraWyshLnHDU1NTjn+P3vfx93vgkTJkTME93fqlWrQq9VVlaGRiGxliVcbW0tK1asiCgLHz0sX7481J9zzrN1H2/0EB7rM888E9FG+NZ8UVFRxHzxRg/RcSQaPcSrW1tby6pVq0L1Vq1albHRw+zZsyOm0zl6SPkZ0s65j4ALAMxsOmD4k9ADzrmlgfKRwDKgPzAAeBxoBEYCd6Q6pnA7d+6krq6O0tLSdHaTNtXV1XSpz65dRR9+lsMX1dXtdp0mUl1dTV1dXYvnD44aWis4eqioqEiYRKLt3bs34Tz19fWh542NjUlvFceqFz56CG6BB0Vv3cf7cg2PtaGhIeK1u+++m0svvRT456ghXvvx4ghvI9m6FRUVEbHU19dTUVHBrFmzYraTTsFRQ1A6Rw9p+5Yxs57A5cBS4DHgB2Z2DIBz7nlgNP7ktDbwOAH4dRNtft/MNpnZpj179qQrdJEIjY2NmQ4hpKqqKuILvbXzOOdCX8b19fWsWbMm6TYTaU4Ci243UazNFWu01Ny6VVVVEa8555JeT+1ZWq6tFNi5/BugDP/o4HPgF8ByM5vsnKsFfgjsBpYDVwJ34U8mlwJnmNk3nXP3h7frnFsMLAYoKCho0acvLy8PoN1eTK20tJTPa17JdBgRendr5Mj8fu12nSZSWlrK9u3bPVuqmVJUVMSqVaualSASzWNmgP8LLzc3l1GjRiX8mSq8zeiflaLbbcmXeTKxNkd0HInaiFe3qKiIp59+OvSamTW5E/xwkI59Dqfg36+wGf9PRDOAG4GfAC8Ar5jZ2cC5+EcMu4EjgYeAnvh/XlocnRhEMuWkk05q8bzf+973UhJDcKOmpKSkWV+SPXv2TDhPbm4uubm5AOTk5FBSUpJUu7Hq9e3bN/R85syZEa8deeSRnrjitRuMtXPnyG3XG2+8MfT8iCOOSNh+vDjC20i2bklJSUQsubm5Sa+nVBs6dGjEdKKjyVorHT8rNQK/dM7Ndc4NB34FLHLOne+cmwdcAuwBfhScwTl3o3PuCufcz/DvpN6fhrhEWqRbt27k5+cDkJ+fH3oe1LlzZ89vv8Hpa665Jul+En3pP/744wD06tWL4uJizIz8/HzMjG9/+9tx51u+fHnEPNH9jR49OvRacXExPXv2jLss4Xr16sX48eMjyv77v/879HzChAmh/szM8zPM8uXLY8YbHuvYsWMj2gjfVxD9s1a8n3mi44i3vyFR3V69ejF69OhQvdGjR8dNbul21113RUwvWLAgbX2lPDk452qcc0+GFXUCuoS9/pZz7h/OuZpAeW5UE7nAEYhkkblz59K9e3duvfXW0PPrr78egLKysoTzBkcP559/fszXr7nmGnJycpg1axadOnUCYNy4cZxwwgnAP0cNQSUlJQwcOJCysjIGDhzo2Yo99thjgcit8+A8I0aMAPw/lQTnDb7W3K3hkpKS0BZ8+KghKLglHtwCjxVXvHaD8US3ES7Yd7xRQ7w4WlK3pKSE/v37079//4yNGoKCo4d0jhoArKU7jjKtoKDAbdq0qdnzBY+oaa+/jwf3OcwtOJCw3oJNPQCarJcKCzb14Mj8c9rtOk2kvX9eRKKZ2WbnXEFT9bLrmEgREckKSg4iIuKh5CAiIh5KDiIi4qHkICIiHmk5QzqbxTrkTiQefV6ko+pwyeFwvDicpI8+L9JR6WclERHxUHIQEREPJQcREfFQchAREQ8lBxER8VByEBERDyUHERHxUHIQERGPDncS3OHgHwc6he7XEM+7+/03jWmqXqriOS3tvYhIW0oqOZjZ1Ogy59z/pD6cw9uDDz7ouadwrLJEkr2cQ/edOwE4MuouYulwGrHjau6yZaMvvviCpUuXZvzuXyJtLdmRQ/Dms13x3wO6FmhXyWHevHkUFhZSWFgYKtuyZQsAZ555ZsKyVFi5ciUDBw5ssizazJkzWbRoUWj60ksvpaamJrQcS5YsAWDatGkJ20m2XqpEL9sHH3zAkiVLmD17drPbCl8Hbb0cS5Ys4ZJLLglNb9myhS1btsTtf9q0acybN89zn2mR9iapfQ7OuYrA49fOuW8DX6Q5rjYR/Edvqqy1nHNs3LiRwYMHJyyLJTwxANTU1LBu3bqUxpdqsZbt+OOPb1FiAO86aCsHDx5k7969nHjiiaGyM888s80Sk0gmJZUczMwX9rgMOCPNcaVFVVUVPp+PM888k2uvvZa77rqLu+66iwsvvBCAOXPmeMrmzZtHcXExF1xwAZMmTaKhoQHnHNdccw0+n48LL7yQffv2hfqYOHGip99ly5YxefLkuGXOOaZMmcJ5553HZZddxqxZs0L1wkc6v/zlL5k5cyZLliyhsLCQPXv2APDaa68xcuRI+vfvzxtvvMGSJUtCW9jr1q1j3rx5ADz++OOMGDGC4uJi9u/fH3c93XHHHQwdOpQhQ4awbds2ABYuXMjQoUO58MILeffdd5k2bRqTJ09m8ODBXHbZZUyZMiXh8tbU1IS+VOfNmxdKcMFYCwoK2L17N71792bXrl2MHj065joI+utf/8qIESPYv39/zPYOHDjAJZdcwvDhw7n22mtD/d5yyy2hz8AHH3xAXV0dxcXFDB48mKuvvpo777wz1MfDDz/MddddF9Fv+Pr86KOPGDduHMOHDw/dmB7gpptuYtiwYfzHf/xH3HVcV1fH2LFj8fl8TJgwgYaGhpjLEVz+H//4x1x88cWh9+f3v/996H158skn+eyzz5g0aRI+n4/p06cDcNttt/HEE0+Elj34XCQZyR6tNCLscRrw72mLKI127NjB+vXrmThxIkVFRcyePZvZs2fzxz/+EfD/o0WXAQwfPpwXXniB3r17s2LFCj766CO2bt3KCy+8QFlZWURyeOqppyL6bGhoYPv27RE/sUSXffzxx+zevZsNGzbwzjvvcM8998SM/0c/+hGLFi1i2rRprFu3juOOOw6AV155hdWrVzN79myefvrpuMufl5fH2rVr8fl8PPzwwzHrbN26lZdeeok//elPLFq0iI0bN/L666+zbt06Xn75ZcrKyrjpppsAmD59Ol26dOHuu+/mvffei7u8yTjllFNYvXo15557LmvWrGHQoEFx6+7atYspU6awdOlSjjrqqLh1ZsyYwXPPPUdNTQ0ffvghEPkZeP7553nzzTfJy8vjpZdeYseOHdx8880A7Nu3jy+++ILevXvHjePOO+/kyiuv5MUXX2Tfvn08++yzAIwZM4aXX36Zbdu2xR2Fbtu2jZycHNavX8+1117LgQMH4vazYcMGhgwZwurVqwGYPHkylZWVAKxfv57Ro0ezePFiBgwYwPr169m1axdbt25l6tSpPP744wCsXr2a8ePHx+1DJFrC5BAcLQBrwx4vAz3bILaUmzrVv1/9xBNP5Isvkv9l7OyzzwZg4MCB1NTU0LNnT6ZNm8Yll1zCI488EvcLCuA3v/lNxFZ1rLJu3bpx6NAhBg8e7KmbjKuuuorc3NyYy1VXVxd6HvyZZ9CgQfztb3+L2dabb75JQUFBqP7UqVPZvn0755xzDmbGeeedx/bt2wHIz8+nU6dO5Ofnk5OTE3d5EwnGN2jQIJYtW8aYMWN48sknQ+s8lvvuu4+8vDzefffduO3l5uby0EMPMWXKFD766KNQefRnoE+fPmzevBmfz8ePfvSjUDsPPvgg3/nOdxLGvm3bttA6HTx4cGi9JLOeBw0axIABAxg1ahSrV6+mW7duMZcDYMCAAREj0tNOO42dO3fy6aefcswxx9C9e3feeustli9fTmFhIX//+995//33OfXUU9m/fz/r1q1jwIABdO3aNeHyiIRrauQQHC3MA27BvzN6NnBHesNKj+7du0dMd+3alc8++wzw/7QTr2zjxo0AvPrqq/Tt25f33nuPnj17snr1avr06eMZLQQdOnSI9957j379+iUs27hxIxMmTOAvf/kLN954Y8JliBVf9HJ16dIl9JNTcAsTYPPmzYB/dBBvh+npp58eqvfyyy9zzTXX0L9/f1555RWcc2zYsIEzzoj9q2KsZYslPL7g1vZZZ53F888/z0UXXcTq1asTjhzKysq4//77KSsri9veww8/zKRJk1i6dGnE+oleV88++yxlZWX8+c9/DiW1PXv2kJuby7HHHptwOc444ww2bNgAELFeklnPr732GsOGDWPNmjV8/PHHvPjiizGXA6BHD+/hyOeeey6LFi3i0ksvBeAb3/gGM2fOZN26dSxYsCC0n+TKK6/kuuuuCyVFkWQlTA7OuZ86537qf+ouds7d7JwbDdS3TXjpVVRUxFNPPcWwYcN48cUX45a98sorFBYW8sknnzB27FiOP/54Vq5cybBhw0JfaEHhW3iPPPKIZ+dlrLLTTz+de+65hxEjRnDZZZeF+o3lrLPO4q233mL48OH89re/jVln5MiRrFy5kunTp/Pll1+GyqurqyksLKSqqorvfve7nnjBPzoaMmQIw4YN45ZbbuG2225jwIABFBYWMmzYMObPn8/ChQtj9htr2YLq6uo44ogjAP8RV/feey833HADPXv6B6GDBg3ipJNO4pRTTuGrX/0qJ510Utx1cOSRR/L1r3+d008/naeffjpme0VFRSxcuJCRI0cC8P7778ds66yzzmLGjBmMHDmSK6+8kjfeeIOHHnoo7qghfDnmzJnDE088wfnnn88xxxzDqFGjAPjd737HsGHDOPnkk+OOgPLz8ykvL2fo0KF88MEHFBQUxFyOeCZPnsyiRYsYO3YsAN/73veorKzE5/Px61//mq9//esATJo0CTPj/PPPT9ieiIdzrskHUAWUAhfg39/wfDLzpfNx9tlnu7Zw2223ubVr17Zo3g8//DCpsmeeecb5fD530UUXuXHjxrmlS5e2qL9Mi7Vshw4dcoMHD3ZDhgxxL7zwQgaiSmzx4sVuxIgRbtSoUW7MmDFu7dq1MZfjnXfeceedd54bNmyY27ZtWwYibb433njDnXPOOe6hhx7KdCiSRYBNLonvWHOBnyYSMbNjAsnhKvznNzzqnNuZroSVjIKCArdp06ZMhiCSlOijrY4++mhWrFiRmWCkwzOzzc65gqbqJXsS3Hzga0AdsBX4FXBpy8OTdCsvL2fHjh0Z6Xtn4OzsvDY4Oxv8Z2dn872es/28FJFYkk0O33LOFZrZ8865P5jZT9IalbTajh07ePWvr8IxGeg8cGTvHtuT/r4+SX8XIh1Rsslhj5ndChxrZiXAB2mMSVLlGGgsbGzzbnPW+Y9zaIu+g32JSGol+581Ff/24J+Bo4Fr0xaRiIhkXFIjB+dcHfDLNMciIiJZQmNyERHxUHIQEREPJQcREfFQchAREQ8lBxER8VByEBERjw6ZHMrLyykvL890GCJZS/8jkuwZ0oeVTF1zSKS90P+IdMiRg4iIJKbkICIiHkoOIiLioeQgIiIeSg4iIuKRluRgZp0Cf83MOptZTthrFj4tIu3Xxo0bKSwsZPPmzZ7X3n77bYqLi0NHPj333HP4fD7Wrl2bdPu1tbXMmDGDvXv3el5buHAhPp+Pn//85y1uozV1D3cp/5I2s95ApZntBZ4Ffgr8wczeMLMtwBqgKGqeuWb2w1THIiLpNW/ePBobGykrK/O8tmDBAg4ePMjtt98OwJ133gnA/Pnzk26/oqKCrVu3UlFR4XmtsrISgJUrV7a4jdbUPdylPDk45z7Ef3/pV51zFzvnbgGuwp8obgYmO+dWR832OdCQ6lhEJH02btzIgQMHADhw4EDE6OHtt9+mpqYGgJqaGh577DEaGvz/4g0NDUmNHmpra6msrMQ5R2VlZcTW/MKFCyPqxhs9JGqjNXU7AnPOpb5Rs4lAP+fcf5pZZ+BvwIuBl4cD+S6sYzP7f8AB59yvk+2joKDAbdq0qUXxTZw4kbq6Ovr169ei+duD6upqDjQeoHHsYX6b0Gdy6JHT47B+LzOhurqarl278tRTT8WtM3r06FByAOjRowerVq0CYOrUqaHkEEvnzp15/vnnE8Zw9913s2rVKurr68nNzWXMmDHMmjULAJ/P56m/fv36ZrXRmrrtmZltds4VNFUvHT8rdQbKgClmVgP0Bl7Bfye5e/DfanSymf2fmW0wsw3ADOAnwWkz22Jml8Vo+/tmtsnMNu3Z0wY3rxeRuMITQ/R0osQAhEYRiVRVVVFfXw9AfX09a9asaXaMzWkjFf0dTtJx+YzrgC+A24CxgecAg4LPnXPLgGXBGZIdOTjnFgOLwT9yaGmAeXl5AIf1tWNKS0t59f1XMx1G+vWAfn36HdbvZSaUlpY2WadHjx6ekUNQfn5+kyOHphQVFUVsyY8aNarJeVrTRir6O5yk46ihCuD+sGkL/D0ReDNNfYpIG5s3b17EdPiO5rlz50a8dv3110dMx9qBHa2kpAQz/9dHTk4OJSUlodeKi4sj6o4bN67ZbbSmbkeQjh3ShwJPfwZMAHLxJ4UL8CeIuuChriLSfp177rmh0UKPHj04++yzQ6+ddtpp5OfnA/5RxJQpU0Kjhc6dOzNixIgm2+/VqxfFxcWYGcXFxfTs2TP02pw5cyLq/vjHP252G62p2xGkayv+IPADYB7QA+gLPI7/qKShwKlm1iVWkjCzTmaWm6a4RCSF5s2bR05OTszDU+fOnUv37t259dZbAbj55puB5EYNQSUlJQwcODDmVnxw9BBv1JBMG62pe7hLy9FKER2YfReoc849FpgeDrwHXA9cCEQf0pIDLHPO/SJRu605Win4e+rh/Dt1cJ9DWxwxFK1Nj1Zal8NZfc46rN/LTOgI/yMdVbJHK6X9fg7OuYeipoOHtM6JUV1ERLKAdg6LiIiHkoOIiHgoOYiIiIeSg4iIeKR9h3Q26tu3b6ZDEMlq+h+RDpkckrk0gEhHpv8R0c9KIiLioeQgIiIeSg4iIuKh5CAiIh5KDiIi4qHkICIiHkoOIiLioeQgIiIeHfIkuA7jk3/eW6Gt+4U26vsToE/6uxHpaJQcDlOZvPzBTrcTgLw+eenvrI8u9SCSDkoOhyld/kBEWkP7HERExEPJQUREPJRST7iKAAAJ/UlEQVQcRETEQ8lBREQ8lBxERMRDyUFERDyUHERExEPJQUREPHQSnKRceXk5O3bsyEjfO3cGzs7Oa4Ozs1uhb9++OlFRspqSg6Tcjh07eHPLFo7PQN/7A38/qa3NQO/J+SDTAYgkQclB0uJ44DtYm/f7MA4y1HeygjGKZDPtcxAREQ8lBxER8VByEBERDyUHERHxUHIQEREPJQcREfFQchAREQ8lBxER8VByyDLl5eWUl5dnOgyRlNNnu33RGdJZJlPXJBJJN3222xeNHERExEPJQUREPJQcRETEQ8lBREQ8lBxERMSjTZODmSkZiYi0A2n5sjazeWY2xMx6m9nXzew/zOwnwBwzu8DMukbVn2tmP0xHLCIiqVBbW8uMGTPYu3dvpkNpE+nckq8HRgBXAecAg4BDwGCgd1Tdz4GGNMYiItIqFRUVbN26lYqKikyH0iZSnhzM7BTga8AZ+O8WOQ04CzgTmAic5pyrSXW/IiLpUltbS2VlJc45KisrO8ToIR1nSJ8E9AH6Ax8D7wCN+BNRDdDJzC4HZgNfBOY5AfjSzKYFpo8E5jvn/jcN8WW1nTt3UldXR2lpaaZDabHq6mod6ZDAXmBPdXW7fo9borq6mq5duzZdMQtVVFTgnP/e342NjVRUVDBr1qwMR5VeKf8fds6tBV4BngQ+BE4F+gb+DgLMObfMOTfIOXeec+484F7gZ8Fp59yZsRKDmX3fzDaZ2aY9e/akOnQRkZiqqqqor68HoL6+njVr1mQ4ovRL97WV3gduAHLxJ6JjgC4tbcw5txhYDFBQUOBSEWC2ycvLA2jXFygrLS3lky1bMh1G1uoJHNOvX7t+j1uiPY+UioqKWLVqFfX19eTm5jJq1KhMh5R26UwO3YAF+H86Cu5szgc+NrMznXM3prFvEZGUKSkpobKyEoCcnBxKSkoyHFH6pfOn4c+cc+cCG4H/dM4VAkuA7znnbjSzLmbWKXomM+tkZrlpjEtEpFl69epFcXExZkZxcTE9e/bMdEhpl66RQ6ewtu8Cjjazi4HLgUcC5T8FLjSzxuBMgR3SOcAy4Bdpik1EpNlKSkqoqanpEKMGSFNycM6VhT3fDew2s93AUOfcJ4HyOenoW0QkHXr16sW9996b6TDaTJvd7Mc5t6+t+hIRkdbR4egiIuKh5CAiIh5KDiIi4qHkICIiHm22Q1qS07dv30yHIJIW+my3L0oOWaY9X2JAJBF9ttsX/awkIiIeSg4iIuKh5CAiIh5KDiIi4qHkICIiHkoOIiLioeQgIiIeOs9B0uID4GHa/k6uuwJ/M9F3sj7Af79ckWym5CApl8kzYQ/s3AnAMYF7cWejY9DZwpL9lBwk5XQmrEj7p30OIiLioeQgIiIeSg4iIuKh5CAiIh7mXPYe8peIme0B3m3GLL2A2jSFkyqKMTUUY2ooxtTIthhPcs4d11SldpscmsvMNjnnCjIdRyKKMTUUY2ooxtRoDzHGop+VRETEQ8lBREQ8OlJyWJzpAJKgGFNDMaaGYkyN9hCjR4fZ5yAiIsnrSCMHERFJkpKDtAtm9hUzKzKzXpmORaQj6BDJwcweNrM/m9ncDPTd28xeDDzPNbOVZvaymV3X2rIUxXe0mVWa2RozW25mXWKtr9aUpSDGY4FngHOBtWZ2XLbFGNZ2bzN7tbXxpGk9djazf5jZusDjW2b2UzN7xcz+K6xei8tSGOuvzGxc4Hm2rccfhK3DLWb2QLbFmAqHfXIws4lAJ+fcEOAUM+vXhn0fC1QA3QNFM4DNzrlhwCQzO6qVZakwBbjHOTcK/60GriRqfcVah8mWpSjGgcAs59wdwGpgZBbGGPQLoGtr4knzelzqnCt0zhUCXYDz8Sfd3WZ2kZmd3dKyFMWImQ0HjnfOrczG9eicuz9sHb4I/C3bYkyFwz45AIXAssDzNfg/0G3lS+AK4NMYsawHClpZ1mrOuV8556oCk8cB/4Z3fRW2oiwVMb7gnNtgZj78X0YXZ1uMAGY2EjiIP8m2Jp50xXgeMNbMNprZw8CFwP86/1Epq4HhwAWtKGs1M8sFHgRqzGw82bkeg7H2AXoDedkaY2t0hOTQHXg/8Pwj/G9mm3DOfeqc29dELK0pSxkzGwIcC7yXjTGameFPtB8DLttiNLMuQBkwO1CUje/1K8BFzrlzgVygaxbGOBXYBvwM/4bA9CyMMWg6cH8r48nY91NTOkJyOID/nwCgB5ld5lixtKYsJczsK8C9wHXZGqPzmw5sBYZmYYyzgV855z4JTGfjetzqnAveSXVTlsZ4FrDYOfcB8Bv8o+RsixEzywFGAOtaGU82fT9FyJpA0mgz/xyq/StQk7lQYsbSmrJWC2zxPgnMcc69m6Ux3mRmUwOTxwB3ZVuMwEXAdDNbB5wJjMvCGB81s381s07At/FvtWZbjDuAUwLPC4D8LIwR/D+j/SXws1rW/c+khHPusH4A/wK8BtwDbAeOzkAM6wJ/TwL+CvwS/xC/U2vKUhTbD/D/VLMu8CiJXl+x1mGyZSmK8VigCv9W5K8CfWVVjNHvd2viSeN6HIB/5PU6cAf+jcOXA5+pt4CTW1OWohiPwr+xsh74c+Bzn1XrMRDnncDEwPOse69TsoyZDqBNFtL/5XI5/iMgMh3L1wKxHJ2KsrZaX60pU4xZHWNXYBJwSirKOvB6zPoYm/vQ5TNERMSjI+xzEBGRZlJyEBERDyUHERHxUHIQAcys0Mzyw6aXhE9H1V3XBvGkvQ+RRJQcRPwK8R9TLyIoOchhxMw2m/8KsyvM7C9mdrP5r2T7opktCtRZYma3Bsr+ZGZdzewRYBqwyMweC2tyani9OH1WmNl5YW2fF6feV81srZm9ZGYPBMq+Fph+0czuSLBcnnpmlm9mj5nZI4H4k45FJBlKDnI46QZMxn/10auBfsATzrnhwNFmdkmgXo9A2ZvAWc65a4ElwEzn3JSw9iLqxenzf4ApgTPNv+mc2xCn3nDgdefc+cD6wOUX+uC/7EYx/jOq44lXbxzwQCD+5sQi0iQlBzmcfOicOwC8i/+KuL2BvwRe+wvwzcDzisDff+C/bHU8ydRbCwwBxgBPJ2irEuhkZlXA6c65RqAB/5f+Q/jPDI4nXr01UQkg2VhEmqTkIIezg/gvU03g71/DyqPV4R95BK8AG69ehMCXfBX++zj8JkHVIcCjzrkiYKSZnQrMAhYC38V/pdl44tU70MJYRJqk5CCHsyOAK83sJeAT59yaBHX/F5htZhuAU5vZz5PAP5z/woXx/B34mZn9GdiNf3TzDPBr/Fv5nwXuDxBLsvWSjUWkSbp8hkgrmNmF+O89cItz7lnFIocLJQeRFDKz44Enoorfcs5dn4l4RFpKyUFERDy0z0FERDyUHERExEPJQUREPJQcRETEQ8lBREQ8/j/11tIyDewILwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['大专','本科','硕士','博士']\n",
    "a=sns.boxplot(y='edu',x='monthly_salary',order=order,data=data[data.edu.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0.5,1.5), xytext=(2, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 工作经验 Working Experience"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >experience</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col0\" class=\"data row0 col0\" >10+</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col1\" class=\"data row0 col1\" >29868</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col2\" class=\"data row0 col2\" >9000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col3\" class=\"data row0 col3\" >27500</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col4\" class=\"data row0 col4\" >59812</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col5\" class=\"data row0 col5\" >309</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.28%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col0\" class=\"data row1 col0\" >5_10</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col1\" class=\"data row1 col1\" >22881</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col2\" class=\"data row1 col2\" >11500</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col3\" class=\"data row1 col3\" >20833</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col4\" class=\"data row1 col4\" >45833</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col5\" class=\"data row1 col5\" >15005</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow1_col6\" class=\"data row1 col6\" >13.56%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col0\" class=\"data row2 col0\" >3_5</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col1\" class=\"data row2 col1\" >17663</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col2\" class=\"data row2 col2\" >9000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col5\" class=\"data row2 col5\" >34902</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow2_col6\" class=\"data row2 col6\" >31.55%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col0\" class=\"data row3 col0\" >no</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col1\" class=\"data row3 col1\" >13789</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col2\" class=\"data row3 col2\" >3000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col5\" class=\"data row3 col5\" >30042</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow3_col6\" class=\"data row3 col6\" >27.16%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col0\" class=\"data row4 col0\" >1_3</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col1\" class=\"data row4 col1\" >13146</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col3\" class=\"data row4 col3\" >12000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col4\" class=\"data row4 col4\" >30000</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col5\" class=\"data row4 col5\" >30363</td> \n",
       "        <td id=\"T_5b6a2c68_b594_11e9_b8fa_701ce71031efrow4_col6\" class=\"data row4 col6\" >27.45%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2595091b908>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_experience=get_sub_stats_by_col(data, 'experience')\n",
    "apply_style(data_experience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_we_10=data[data.experience=='10+'].monthly_salary\n",
    "salary_we_5_10=data[data.experience=='5_10'].monthly_salary\n",
    "salary_we_3_5=data[data.experience=='3_5'].monthly_salary\n",
    "salary_we_1_3=data[data.experience=='1_3'].monthly_salary\n",
    "salary_we_no=data[data.experience=='no'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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eos+ffrwxz/+kYaGBu6++24A9u3bx5EjR+jZs2fcOObPn891113HSy+9xL59+/jDH/4AwKhRo3j55Zepq6uL2wutq6sjLy+PDRs2cMMNN3Dw4MG47WzcuJHBgwezcuVKAK699lpqamoA2LBhA1dddRWLFy9mwIABbNiwgQ8++IDa2lomT57Mb37zGwBWrlzJuHHj4rYhEi1hcnDOzQj8H+acGx74G+acG94x4aXX5MmTATjnnHM4cuRI0tNdfPHFABQXF9PY2Ej37t25/vrr+da3vsUjjzwSdwMF8Pjjj0fsVccad9JJJ/HZZ58xaNAgT9lkfO9736OgoCDmfB0+fDj0OniYZ+DAgfztb3+LWddbb71FSUlJqPzkyZN58803ueSSSzAzLrvsMt58800AioqKOO644ygqKiIvLy/u/CYSjG/gwIE89dRTjBo1iqeffjq0zGP59a9/TZ8+fdixY0fc+goKCnj44YeZOHEie/fuDY2PXgd69+7Nli1b8Pl83HbbbaF6HnroIW666aaEsdfV1YWW6aBBg0LLJZnlPHDgQAYMGMDIkSNZuXIlJ510Usz5ABgwYEBEj/T8889n586d7N+/n9NOO41u3brx9ttv88wzz1BaWsrf//533n//fb761a9y4MAB1q1bx4ABAzjxxBMTzo9IuC51WKlbt24RwyeeeCKffvopQPCke8xxmzZtAmDr1q307duX9957j+7du7Ny5Up69+7t6S0EffbZZ7z33nv069cv4bhNmzYxfvx4Xn31VW6//faE8xArvuj5Ov7440OHnIJ7mABbtmwB/L2DoqKimPVfcMEFoXIvv/wykyZNon///rz22ms459i4cSNf+9rXkp7fWMLjC+5tX3TRRbz44ouMGDGClStXJuw5VFZW8sADD1BZWRm3viVLljBhwgSWLVsWsXyil9Uf/vAHKisreeWVV0JJbffu3RQUFHD66acnnI+vfe1rbNy4ESBiuSSznN944w2GDBnCqlWr+Pjjj3nppZdizgdAYaH3UuFLL72URYsWMXbsWAD+4R/+genTp7Nu3TrmzZsXOk9y3XXXceONN4aSokiyulRyiFZWVsbvfvc7hgwZwksvvRR33GuvvUZpaSmffPIJo0ePplevXjz33HMMGTIktEELCt/De+SRRzwnL2ONu+CCC7j//vsZNmwY11xzTajdWC66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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['10+','5_10','3_5','1_3']\n",
    "sns.boxplot(y='experience',x='monthly_salary',order=order,data=data[data.experience.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(1.5,1.5), xytext=(1.55, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 公司 Company"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司性质 Company Type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >company_type</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col0\" class=\"data row0 col0\" >事业单位</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col1\" class=\"data row0 col1\" >22858</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col2\" class=\"data row0 col2\" >3696</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col3\" class=\"data row0 col3\" >17708</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col4\" class=\"data row0 col4\" >60000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col5\" class=\"data row0 col5\" >994</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.90%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col0\" class=\"data row1 col0\" >外资（欧美）</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col1\" class=\"data row1 col1\" >18563</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col3\" class=\"data row1 col3\" >17500</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col4\" class=\"data row1 col4\" >41666</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col5\" class=\"data row1 col5\" >5344</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow1_col6\" class=\"data row1 col6\" >4.83%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col0\" class=\"data row2 col0\" >外企代表处</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col1\" class=\"data row2 col1\" >16527</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col2\" class=\"data row2 col2\" >3259</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col3\" class=\"data row2 col3\" >12500</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col4\" class=\"data row2 col4\" >48673</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col5\" class=\"data row2 col5\" >83</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow2_col6\" class=\"data row2 col6\" >0.08%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col0\" class=\"data row3 col0\" >民营公司</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col1\" class=\"data row3 col1\" >15973</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col2\" class=\"data row3 col2\" >4500</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col3\" class=\"data row3 col3\" >14000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col5\" class=\"data row3 col5\" >81150</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow3_col6\" class=\"data row3 col6\" >73.36%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col0\" class=\"data row4 col0\" >合资</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col1\" class=\"data row4 col1\" >15945</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col2\" class=\"data row4 col2\" >5750</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col3\" class=\"data row4 col3\" >14000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col4\" class=\"data row4 col4\" >37500</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col5\" class=\"data row4 col5\" >10788</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow4_col6\" class=\"data row4 col6\" >9.75%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col0\" class=\"data row5 col0\" >外资（非欧美）</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col1\" class=\"data row5 col1\" >15887</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col2\" class=\"data row5 col2\" >6000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col3\" class=\"data row5 col3\" >14000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col4\" class=\"data row5 col4\" >35000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col5\" class=\"data row5 col5\" >6296</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow5_col6\" class=\"data row5 col6\" >5.69%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col0\" class=\"data row6 col0\" >国企</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col1\" class=\"data row6 col1\" >15289</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col2\" class=\"data row6 col2\" >3729</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col3\" class=\"data row6 col3\" >14000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col4\" class=\"data row6 col4\" >30000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col5\" class=\"data row6 col5\" >5895</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow6_col6\" class=\"data row6 col6\" >5.33%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col0\" class=\"data row7 col0\" >非营利组织</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col1\" class=\"data row7 col1\" >10554</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col2\" class=\"data row7 col2\" >6000</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col3\" class=\"data row7 col3\" >10250</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col4\" class=\"data row7 col4\" >16812</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col5\" class=\"data row7 col5\" >71</td> \n",
       "        <td id=\"T_5ba5b666_b594_11e9_b9d4_701ce71031efrow7_col6\" class=\"data row7 col6\" >0.06%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25950a6fb70>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_type=get_sub_stats_by_col(data,'company_type')\n",
    "apply_style(data_company_type)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "us_eu是欧美外企，startup是创业公司，listed是上市公司，state是国企，private是私企，foreign是非欧美外企，其他不足1000个样本的不管了。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司规模 Company Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >company_size</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col0\" class=\"data row0 col0\" >10000+</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col1\" class=\"data row0 col1\" >24268</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col3\" class=\"data row0 col3\" >22500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col4\" class=\"data row0 col4\" >52500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col5\" class=\"data row0 col5\" >7279</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow0_col6\" class=\"data row0 col6\" >6.58%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col0\" class=\"data row1 col0\" >5000-10000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col1\" class=\"data row1 col1\" >19402</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col2\" class=\"data row1 col2\" >7000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col3\" class=\"data row1 col3\" >16500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col4\" class=\"data row1 col4\" >49725</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col5\" class=\"data row1 col5\" >2531</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow1_col6\" class=\"data row1 col6\" >2.29%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col0\" class=\"data row2 col0\" >1000-5000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col1\" class=\"data row2 col1\" >17055</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col5\" class=\"data row2 col5\" >13449</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow2_col6\" class=\"data row2 col6\" >12.16%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col0\" class=\"data row3 col0\" >500-1000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col1\" class=\"data row3 col1\" >16692</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col2\" class=\"data row3 col2\" >6500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col3\" class=\"data row3 col3\" >15000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col5\" class=\"data row3 col5\" >11476</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow3_col6\" class=\"data row3 col6\" >10.37%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col0\" class=\"data row4 col0\" >150-500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col1\" class=\"data row4 col1\" >15736</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col3\" class=\"data row4 col3\" >14000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col4\" class=\"data row4 col4\" >35000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col5\" class=\"data row4 col5\" >26398</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow4_col6\" class=\"data row4 col6\" >23.86%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col0\" class=\"data row5 col0\" >50-150</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col1\" class=\"data row5 col1\" >15019</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col2\" class=\"data row5 col2\" >4000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col3\" class=\"data row5 col3\" >12500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col4\" class=\"data row5 col4\" >35000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col5\" class=\"data row5 col5\" >33408</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow5_col6\" class=\"data row5 col6\" >30.20%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col0\" class=\"data row6 col0\" >50-</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col1\" class=\"data row6 col1\" >13641</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col2\" class=\"data row6 col2\" >3750</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col4\" class=\"data row6 col4\" >30000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col5\" class=\"data row6 col5\" >15194</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow6_col6\" class=\"data row6 col6\" >13.74%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col0\" class=\"data row7 col0\" ></td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col1\" class=\"data row7 col1\" >12807</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col2\" class=\"data row7 col2\" >7000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col3\" class=\"data row7 col3\" >11500</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col4\" class=\"data row7 col4\" >30000</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col5\" class=\"data row7 col5\" >886</td> \n",
       "        <td id=\"T_5bb8edbe_b594_11e9_9c73_701ce71031efrow7_col6\" class=\"data row7 col6\" >0.80%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25950b01eb8>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_size=get_sub_stats_by_col(data,'company_size')\n",
    "apply_style(data_company_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "公司越大，工资越高"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行业 Industry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >industry</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col0\" class=\"data row0 col0\" >finance</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col1\" class=\"data row0 col1\" >17248</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col2\" class=\"data row0 col2\" >4500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col3\" class=\"data row0 col3\" >17500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col4\" class=\"data row0 col4\" >32729</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col5\" class=\"data row0 col5\" >3649</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow0_col6\" class=\"data row0 col6\" >3.30%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col0\" class=\"data row1 col0\" >service</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col1\" class=\"data row1 col1\" >16448</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col2\" class=\"data row1 col2\" >4991</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col4\" class=\"data row1 col4\" >40000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col5\" class=\"data row1 col5\" >937</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow1_col6\" class=\"data row1 col6\" >0.85%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col0\" class=\"data row2 col0\" >computer</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col1\" class=\"data row2 col1\" >16245</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col2\" class=\"data row2 col2\" >4500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col3\" class=\"data row2 col3\" >14000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col5\" class=\"data row2 col5\" >84125</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow2_col6\" class=\"data row2 col6\" >76.05%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col0\" class=\"data row3 col0\" >edu</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col1\" class=\"data row3 col1\" >16129</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col2\" class=\"data row3 col2\" >5250</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col3\" class=\"data row3 col3\" >13500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col5\" class=\"data row3 col5\" >6731</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow3_col6\" class=\"data row3 col6\" >6.08%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col0\" class=\"data row4 col0\" >logistic</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col1\" class=\"data row4 col1\" >15848</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col3\" class=\"data row4 col3\" >13500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col4\" class=\"data row4 col4\" >35000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col5\" class=\"data row4 col5\" >1316</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow4_col6\" class=\"data row4 col6\" >1.19%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col0\" class=\"data row5 col0\" >trade</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col1\" class=\"data row5 col1\" >15658</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col2\" class=\"data row5 col2\" >5250</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col3\" class=\"data row5 col3\" >14000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col4\" class=\"data row5 col4\" >35000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col5\" class=\"data row5 col5\" >6528</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow5_col6\" class=\"data row5 col6\" >5.90%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col0\" class=\"data row6 col0\" >energy</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col1\" class=\"data row6 col1\" >14882</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col2\" class=\"data row6 col2\" >3750</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col3\" class=\"data row6 col3\" >13500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col4\" class=\"data row6 col4\" >28082</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col5\" class=\"data row6 col5\" >1033</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow6_col6\" class=\"data row6 col6\" >0.93%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col0\" class=\"data row7 col0\" >ads</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col1\" class=\"data row7 col1\" >14768</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col2\" class=\"data row7 col2\" >5000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col3\" class=\"data row7 col3\" >12500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col4\" class=\"data row7 col4\" >35000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col5\" class=\"data row7 col5\" >1399</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow7_col6\" class=\"data row7 col6\" >1.26%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col0\" class=\"data row8 col0\" >medical</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col1\" class=\"data row8 col1\" >14336</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col2\" class=\"data row8 col2\" >3500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col3\" class=\"data row8 col3\" >13000</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col4\" class=\"data row8 col4\" >29819</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col5\" class=\"data row8 col5\" >2213</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow8_col6\" class=\"data row8 col6\" >2.00%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col0\" class=\"data row9 col0\" >realestate</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col1\" class=\"data row9 col1\" >14218</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col2\" class=\"data row9 col2\" >4735</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col3\" class=\"data row9 col3\" >12500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col4\" class=\"data row9 col4\" >28500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col5\" class=\"data row9 col5\" >1474</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow9_col6\" class=\"data row9 col6\" >1.33%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col0\" class=\"data row10 col0\" >gov</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col1\" class=\"data row10 col1\" >14068</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col2\" class=\"data row10 col2\" >2500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col3\" class=\"data row10 col3\" >12500</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col4\" class=\"data row10 col4\" >29166</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col5\" class=\"data row10 col5\" >1216</td> \n",
       "        <td id=\"T_5bd0fb66_b594_11e9_9f4f_701ce71031efrow10_col6\" class=\"data row10 col6\" >1.10%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25950a6f7b8>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_industry=get_sub_stats_by_col(data,'industry')\n",
    "apply_style(data_industry)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
